次のファイル ( df_SOF1.csv
) があります。100 万レコードの長さです。
Location,Transport,Transport1,DateOccurred,CostCentre,D_Time,count
0,Lorry,Car,07/09/2012,0,0:00:00,2
1,Lorry,Car,11/09/2012,0,0:00:00,5
2,Lorry,Car,14/09/2012,0,0:00:00,30
3,Lorry,Car,14/09/2012,0,0:07:00,2
4,Lorry,Car,14/09/2012,0,0:29:00,1
5,Lorry,Car,14/09/2012,0,3:27:00,3
6,Lorry,Car,14/09/2012,0,3:28:00,4
7,Lorry,Car,21/09/2012,0,0:00:00,13
8,Lorry,Car,27/09/2012,0,0:00:00,8
9,Lorry,Car,28/09/2012,0,0:02:00,1
10,Train,Bus,03/09/2012,2073,7:49:00,1
11,Train,Bus,05/09/2012,2073,7:50:00,1
12,Train,Bus,06/09/2012,2073,7:52:00,1
13,Train,Bus,07/09/2012,2073,7:48:00,1
14,Train,Bus,08/09/2012,2073,7:55:00,1
15,Train,Bus,11/09/2012,2073,7:49:00,1
16,Train,Bus,12/09/2012,2073,7:52:00,1
17,Train,Bus,13/09/2012,2073,7:50:00,1
18,Train,Bus,14/09/2012,2073,7:54:00,1
19,Train,Bus,18/09/2012,2073,7:51:00,1
20,Train,Bus,19/09/2012,2073,7:50:00,1
21,Train,Bus,20/09/2012,2073,7:51:00,1
22,Train,Bus,21/09/2012,2073,7:52:00,1
23,Train,Bus,22/09/2012,2073,7:53:00,1
24,Train,Bus,23/09/2012,2073,7:49:00,1
25,Train,Bus,24/09/2012,2073,7:54:00,1
26,Train,Bus,25/09/2012,2073,7:55:00,1
27,Train,Bus,26/09/2012,2073,7:53:00,1
28,Train,Bus,27/09/2012,2073,7:55:00,1
29,Train,Bus,28/09/2012,2073,7:53:00,1
30,Train,Bus,29/09/2012,2073,7:56:00,1
パンダを使用して分析しています時間列を集計できる方法でデータをグループ化する方法を見つけるために少なくとも40時間試みてきましたD_Time
必要なモジュールをロードしました データフレームを作成しますDateOccured
インデックスとして使用して以下を参照してください
df_SOF1 = read_csv('/users/fabulous/documents/df_SOF1.csv', index_col=3, parse_dates=True) # read file from disk
任意の列でグループ化するか、任意の行を反復処理できます。
df_SOF1.groupby('Location').sum()
D_Time
ただし、パンダを使用して列を合計して平均を取る方法は見つかりませんでした。私は timedeltas などに関する 20 以上の記事を読みましたが、パンダでこれを行う方法はまだ賢明ではありません。
列で算術演算を実行できるソリューションをD_Time
いただければ幸いです。(パンダの外で行う必要がある場合でも)。
考えられる解決策の1つは、D_Time
列を秒に変更することだと思いました。
_ _ _ _ _ _ _ _ _ __ _ _ __ _ _ __ _ _2012 / 11 / 01上記の30項目に対して次のコマンドを実行しました
df_SOF1.groupby('Transport').agg({'D_Time': sum})
D_Time
輸送
トラック 0:00:000:00:000:00:000:07:000:29:003:27:003:28... 電車 7:49:007:50:007:52:007:48:007 :55:007:49:007:52..
数値の合計を与えるのではなく、値を物理的に合計しているようです(文字列を追加するなど)
乾杯