Pandas提取每日数据并写入csv

时间:2017-08-31 13:37:50

标签: python-2.7 pandas

我有一个像这样的pandas数据框:

( (PropA=ValueA), (PropB=( (Key1,ValueB1), (Key2,ValueB2) )) )

当然这只是一个片段,整个数据框有大约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
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

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

但我没有得到任何输出或错误。它运行但没有任何反应。我做错了吗?这甚至是正确使用的功能吗?或者有更简单,更好的方法吗?

1 个答案:

答案 0 :(得分:2)

我认为apply需要groupbyto_csv需要自定义功能:

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