我正在寻找一个脚本,如果['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)
答案 0 :(得分:4)
更改逻辑-如果行等于asked here,则选择行:
df = df[df['D1'] % 0.02 == 0]
print (df)
D1 Value
1 0.02 1
3 0.04 3
放下是可能的,但过于复杂:
df = df.drop(df.index[df['D1'] % 0.02 != 0])
EDIT由于0.06 % 0.02=0.019999999999999997
(我认为是浮点精度)的原因,因此您可以将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