2017-08-31 52 views
1

我有一個熊貓數據幀尋找這樣的:大熊貓提取日常數據並寫入到CSV

Index     Stat value1 value2 value3 value4 value5 value6 
2016-11-01 00:00:00.000 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-01 00:00:00.100 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-01 00:00:00.200 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-01 00:00:00.300 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-01 00:00:00.400 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-02 00:00:00.000 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-02 00:00:00.100 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-02 00:00:00.200 Gard 0.15 0.25 0.01 6.08 31.0 0.291719042916 
2016-11-02 00:00:00.300 Gard 0.15 0.25 0.01 6.08 31.0 0.291719042916 

當然這只是一個片段,整個數據幀有大約430萬行。

我想提取與日期相關的每一行。因此,所有將時間戳記2016-11-01的行放入一個文件並將2016-1-02放入另一個文件。所以兩個文件看起來像這樣:

Index     Stat value1 value2 value3 value4 value5 value6 
2016-11-01 00:00:00.000 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-01 00:00:00.100 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-01 00:00:00.200 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-01 00:00:00.300 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-01 00:00:00.400 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 

和:

Index     Stat value1 value2 value3 value4 value5 value6 
2016-11-02 00:00:00.000 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-02 00:00:00.100 Gard 0.08 0.24 0.09 6.08 18.4 0.268514431642 
2016-11-02 00:00:00.200 Gard 0.15 0.25 0.01 6.08 31.0 0.291719042916 
2016-11-02 00:00:00.300 Gard 0.15 0.25 0.01 6.08 31.0 0.291719042916 

我試着在下面的命令來使用groupby

grouped_df = df.groupby(df.index.date)["Stat","value1","value2","value3","value4","value5","value6"] 

但我沒有得到任何輸出或錯誤。它運行但沒有任何反應。我做錯了什麼?這甚至是正確的功能嗎?還是有更簡單,更好的方法?

+1

對於groupby'返回其上可以應用功能,如總和'GroupBy'對象的記錄,',意思是說,甚至自定義功能。 – IanS

+1

好吧,這解釋了爲什麼我沒有從運行'groupby'命令得到任何回報。感謝您的解釋! – BallerNacken

回答

2

我認爲你需要groupbyapply和定製功能與to_csv

f = lambda x: x.to_csv(r'd:/folder/{}.csv'.format(x.name)) 
df.groupby(df.index.date).apply(f) 
+1

嗯,不需要將結果賦給'grouped_df'我認爲... – IanS

+0

'x.name'只是保存數據的路徑嗎? – BallerNacken

+0

給我一點時間;)但是x.name是沒有路徑的文件名 – jezrael