Python 如果余数不是0,则删除行
我正在寻找一个脚本,它将删除整行,如果['D1']在除以0.02时没有给出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 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