如何根据周对 pandas 数据框进行分区并保存为 CSV?

2024-04-06

我有一个熊猫数据框,如下所示。这个数据框大约一个月的时间段。如何根据周对该数据框进行分区?我需要每 4 周保存为 4 个单独的 CSV 文件。

Time Stamp              Id  Latitude    Longitude
01/10/2016 15:22:51:700 1      23        50
01/10/2016 16:28:08:026 1      23        50
01/10/2016 16:28:09:026 1      12        45
02/10/2016 19:00:08:026 2      23        50
02/10/2016 20:28:08:026 1      23        50
03/10/2016 19:00:08:000 2      23        50
03/10/2016 01:02:33:123 2      23        50
03/10/2016 06:15:08:500 1      23        50
03/10/2016 10:01:07:022 3      28        88
......
......
31/10/2016 13:09:17:044 1      33        80

我的预期输出是:

Time Stamp              Id  Latitude    Longitude
01/10/2016 15:22:51:700 1      23        50
01/10/2016 16:28:08:026 1      23        50
01/10/2016 16:28:09:026 1      12        45
02/10/2016 19:00:08:026 2      23        50
02/10/2016 20:28:08:026 1      23        50
03/10/2016 19:00:08:000 2      23        50
03/10/2016 01:02:33:123 2      23        50
03/10/2016 06:15:08:500 1      23        50
03/10/2016 10:01:07:022 3      28        88
......
......
07/10/2016 03:09:10:066 5      28        78

这应该是我的第一周。接下来的几周从08/10/2016到14/10/2017、从15/10/2016到21/10/2017以及从22/10/2016到31/10/2017。


您可以先将列转换为datetimes 然后到year-weekofyear by strftime http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.dt.strftime.html.

最后一个循环groupby并打电话to_csv http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.to_csv.html:

ts = pd.to_datetime(df['Time Stamp'], format='%d/%m/%Y %H:%M:%S:%f').dt.strftime('%Y-%W')

for i, x in df.groupby(ts):
   x.to_csv('{}.csv'.format(i), index=False)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据周对 pandas 数据框进行分区并保存为 CSV? 的相关文章

随机推荐