我对数据的采样不一致。我的一些数据是在5Hz下收集的,其中一些是在1Hz下收集的。我想标准化它,所以我想删除每秒间隔之间的数据。 由于秒的小数部分,我的数据帧列是浮点格式,但我只想保留整秒行中的数据。
data = [["1",0, 1],["1",1, 4],['1',2,9],['1',3,4],["2",0, 4],['2',0.2, 2],['2',0.4, 2], ['2',0.6,1], ['2',0.8,5],['2',1.0, 1],['2',1.2, 6],['2',1.4, 6], ['2',1.6,1], ['2',1.8,5],['2',2.0, 1]]
df = pd.DataFrame(data, columns = ["Day",'Second', 'Data'])
desired = [["1",0, 1],["1",1, 4], ['1',2,9],['1',3,4],["2",0, 4],['2',1.0, 1],['2',2.0, 1]]
desired_df = pd.DataFrame(desired, columns = ["Day",'Second', 'Data'])
您可以使用 Python Modulus 运算符,如下所示来获得所需的结果
desired_df = df.loc[df.Second%1 == 0].reset_index(drop=True)
输出
Day Second Data
0 1 0.0 1
1 1 1.0 4
2 1 2.0 9
3 1 3.0 4
4 2 0.0 4
5 2 1.0 1
6 2 2.0 1