熊猫使用Loc过滤,但排除行中的值

时间:2020-04-29 09:27:39

标签: python-3.x pandas filter loc isin

1vat.loc[(vat['Sum of VAT'].isin([np.nan, 0])) &
2        (vat['Comment'] == 'Transactions 0DKK') &
3        (vat['Memo (Main)'] != '- None -'), 'Comment'] = 'Travel bill'
4vat[vat["Comment"] == "Travel bill"]

嗨,

我在第3行有问题。当我试图排除某个列中的值时,它似乎无法正常工作。数据帧的输出太大,这是不正确的。除了使用!=之外,还有其他选择吗,我不明白为什么它不起作用?如果我要使用==,那么它可以正常工作,但在使用!=时却不能,请帮忙。

1 个答案:

答案 0 :(得分:0)

经过多次测试,我认为第3行在测试了不同的代码后才起作用:

(vat['Memo (Main)'].isin(['- None -'] ) == False), 'Comment'] = 'Travel bill'

OR:

(~vat['Memo (Main)'].isin(['- None -'])), 'Comment'] = 'Travel bill'

我必须回溯,看看为什么数据框没有给我期望的输出。