熊猫如何将行分组成不同的时间段?

时间:2016-09-27 07:05:36

标签: python pandas numpy scipy

我有一个名为timestamp的日期时间类型列的数据框,我希望根据时间部分的时间戳将数据帧拆分为多个数据帧,每个数据帧包含按值模数x分钟计算的值,其中x是变量。

请注意,ef不是原始顺序。模数为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

1 个答案:

答案 0 :(得分:2)

您的主要工具为df.timestampe.dt.minute % 10groupby 我使用apply(pd.DataFrame.reset_index)只是为了方便说明

df.groupby(df.timestampe.dt.minute % 10).apply(pd.DataFrame.reset_index)

enter image description here

仅使用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