如何从包含小数的列中选择带有整数的行



我对数据的采样不一致。我的一些数据是在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

最新更新