如何将熊猫数据帧拆分为持续时间为N秒的块?

时间:2019-11-09 12:58:40

标签: python pandas

我有一个数据集,其中的列包含时间戳记值,我想将其拆分为较小的数据集,每个数据集的持续时间为5秒。

这是数据集的样子:

Timestamp            A            B
1                    1            2
2                    3            7
2.5                  8            10
3                    3            5
7                    1            2
8                    3            7
9                    8            10
10                   3            5
11.6                 3            5
11.8                 9            10
16                   8            10
17                   9            10
18                   8            10

我需要将其拆分如下:

Timestamp            A            B
1                    1            2
2                    3            7
2.5                  8            10
3                    3            5

Timestamp            A            B
7                    1            2
8                    3            7
9                    8            10
10                   3            5
11.6                 3            5
11.8                 9            10

Timestamp            A            B
16                   8            10
17                   9            10
18                   8            10

我该怎么办?

编辑1:

我已经更新了上面的示例,以更好地表达我的需求。 @ansev基于Grouper提供的答案将持续时间为30s的文件分为6个文件,第一个为5s,第二个为5s,依此类推。但是,我需要的是每个文件的第一个实例计算的持续时间。 例如,在提供的样本中,第二个数据集包含[7,12)而不是[5, 10)范围内的数据。

可以按照以下任何一种非言语方式进行。有人可以帮我一种有效的方式吗?

complete = {}
start = 0
i = 0
base = data.loc[0,'Timestamp']
for index, row in data.iterrows():
    if row['Timestamp'] - base > 5 :
        complete[i] = data.loc[start:index-1, :]
        start = index
        base = row['Timestamp']
        i+=1

0 个答案:

没有答案