我有一个数据集,其中的列包含时间戳记值,我想将其拆分为较小的数据集,每个数据集的持续时间为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