2016-11-17 7 views
1

以下は、ある期間にわたって個々のリクエストを記録するログファイルの一部です。 Pythonプログラムを作成して、顧客1人あたりの歩数の総計をレポートします。私は、以下の行を含むログファイルを持っています。Pythonを使用した抽出とグルーピング

01-01-2012 01:13:36 ygyfyeic vyeywq Customerid:1231 walked 245 steps 
01-09-2013 01:18:34 gghjjhkl fyuftf Customerid:56789 walked 678 steps 
01-09-2013 01:18:34 hugigygu hoiigy Customerid:1231 walked 456 steps 
01-09-2013 01:18:34 ghguh kjhih Customerid:1678 walked 600 steps 

私は、顧客IDと異なるリストのステップ数を抽出することができるが、私は、各顧客が撮影したステップ数、などのレポートを作成するにこだわっています。

注:日付は変更されず、顧客IDの番号は同じではありません。

+0

は、答えはあなたの問題を解決しましたか? – Backtrack

答えて

0

すでにデータを2つの別々のリストに抽出している場合は、idsstepsと呼ぶことができます。私たちは、次の手順を実行して、レポートをプリントアウトすることができます

for i in range(len(ids)): 
    print('Customer number %s took %s steps' % (ids[i], steps[i])) 

あなたが代わりにそれぞれの対応する要素を含むタプルのリストの中に2つの以上のリストを一緒に入れている、zip functionを使用することができます。

for cid, csteps in zip(ids, steps): 
    print('Customer number %s took %s steps' % (cid, csteps)) 
0

パンダとデータフレームを使用

から私は顧客IDと異なるリストのステップを抽出することができます私はあなたが2つのdiffリストで顧客IDとステップを持っていると仮定します。 PD

cid = [1231,56789,1231,1678] 
steps=[1,2,3,4] 

df = pd.DataFrame({ 
    'cid': cid, 
    'steps':steps 
}) 

print(df.groupby(['cid']).sum()) 

Oとして

輸入パンダ/ P

 steps 
cid   
1231  4 
1678  4 
56789  2 

REF:http://www.shanelynn.ie/summarising-aggregation-and-grouping-data-in-python-pandas/

関連する問題