1

我有一个包含大量数据的 .csv 文件。它是每 10 分钟收集一次的数据,因此时间戳(列名为“TIMESTAMP”)采用以下格式:DD/MM/YYYY hh:mm。我想在 python 中使用 pandas为每天的数据创建/编写一个新的 csv 文件。

此代码每 10 分钟创建一个新的 csv 文件(所以现在我有很多文件,哈哈):

for name, group in df.groupby('TIMESTAMP'):
    group.to_csv('{}.csv'.format(name), index=False)

groupby 甚至是一个很好的解决方案吗?我正在考虑做某种循环和 if 语句,但 groupby 似乎是一个很好的懒惰解决方案......

真的很感谢所有的帮助!

4

1 回答 1

0

Groupby 是一个很好的解决方案。我会创建一个列,将您的日期时间四舍五入到单天并在此列上分组:

df['day']=df['TIMESTAMP'].dt.floor('d')

for name, group in df.groupby('day'):
    group.to_csv('{}.csv'.format(name), index=False)

编辑

如果不想更改数据框的列,则只需在将新列保存到 csv 之前删除它:

for name, group in df.groupby('day'):
    group.drop('day',axis=1).to_csv('{}.csv'.format(name), index=False)
于 2019-10-18T21:23:29.780 回答