首页 > 解决方案 > 如何从包含小数的列中选择具有整数的行

问题描述

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

标签: pythonpandasinteger

解决方案


您可以使用下面的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

推荐阅读