我有一个名为timestamp的日期时间类型列的数据框,我希望根据时间部分的时间戳将数据帧拆分为多个数据帧,每个数据帧包含按值模数x分钟计算的值,其中x是变量。
请注意,e
和f
不是原始顺序。模数为10分钟,我希望所有时间都以3
结尾,所有时间都以1
结束,依此类推。
x = 10时的组
timestampe text
0 2016-08-11 12:01:00 a
1 2016-08-13 11:11:00 b
2 2016-08-09 11:13:00 c
3 2016-08-05 11:33:00 d
4 2016-08-19 11:27:00 e
5 2016-08-21 11:43:00 f
进入
timestampe text
0 2016-08-11 12:01:00 a
1 2016-08-13 11:11:00 b
0 2016-08-09 11:13:00 c
1 2016-08-05 11:33:00 d
2 2016-08-21 11:43:00 f
0 2016-08-19 11:27:00 e
答案 0 :(得分:2)
您的主要工具为df.timestampe.dt.minute % 10
和groupby
我使用apply(pd.DataFrame.reset_index)
只是为了方便说明
df.groupby(df.timestampe.dt.minute % 10).apply(pd.DataFrame.reset_index)
仅使用groupby
也可能是有利的
for name, group in df.groupby(df.timestampe.dt.minute % 10):
print
print(name)
print(group)
1
timestampe text
0 2016-08-11 12:01:00 a
1 2016-08-13 11:11:00 b
3
timestampe text
2 2016-08-09 11:13:00 c
3 2016-08-05 11:33:00 d
5 2016-08-21 11:43:00 f
7
timestampe text
4 2016-08-19 11:27:00 e