Python 如果余数不是0,则删除行

Python 如果余数不是0,则删除行,python,pandas,numpy,Python,Pandas,Numpy,我正在寻找一个脚本,它将删除整行,如果['D1']在除以0.02时没有给出0的余数。提前谢谢 输入: D1 Value 0.01 2 0.02 1 0.03 4 0.04 3 0.05 6 0.06 5 期望输出: D1 Value 0.02 1 0.04 3 0.06 5 我测试过的代码: for q in range(len(df)): if (df.loc[q, 'D1']) % 0.02 != 0:

我正在寻找一个脚本,它将删除整行,如果['D1']在除以0.02时没有给出0的余数。提前谢谢

输入:

D1     Value
0.01    2
0.02    1
0.03    4
0.04    3
0.05    6
0.06    5
期望输出:

D1     Value
0.02    1
0.04    3
0.06    5
我测试过的代码:

for q in range(len(df)):
   if (df.loc[q, 'D1']) % 0.02 != 0:
      df.drop(q)

更改逻辑-选择行(如果相等):

使用drop是可能的,但过于复杂:

df = df.drop(df.index[df['D1'] % 0.02 != 0])
出于某种原因编辑
0.06%0.02=0.019999999999997
(我认为是浮点精度),这样您就可以通过
100
多个值并通过
2
进行比较:

df = df[df['D1'].mul(100) % 2 == 0]
print (df)
     D1  Value
1  0.02      1
3  0.04      3
5  0.06      5

更改逻辑-选择行(如果相等):

使用drop是可能的,但过于复杂:

df = df.drop(df.index[df['D1'] % 0.02 != 0])
出于某种原因编辑
0.06%0.02=0.019999999999997
(我认为是浮点精度),这样您就可以通过
100
多个值并通过
2
进行比较:

df = df[df['D1'].mul(100) % 2 == 0]
print (df)
     D1  Value
1  0.02      1
3  0.04      3
5  0.06      5