我有一个基本上看起来像这样的数据框:
'A'
0 12
1 542
2 676
3 854
4 922
5 972
列' A'中的值是整数。此外,我有一个' A'的值子集列表。所以我有,例如,l = [12,676,854],我想删除所有df [' A']等于我列表中任何值的行,即df['A']=12 or df['A']=676 or df['A']=854
。在这种情况下,理想的输出将是
'A'
1 542
4 922
5 972
像
这样的代码for el in l:
if df=df[df['A']!=el]
可以在正常情况下工作'但事情是,我的数据帧相对较大(约4万行),我的列表l有40k元素。因此,每次进入循环时,我都会经历整个数据帧,这非常耗时。
你知道如何以更有效的方式做到这一点吗?
理想情况下,我会查找看起来像df=df[df['A']!=el for el in l]
的代码,这当然是不正确的。