1

我有一个看起来像这样的df:

number
1
2
3
4

一个看起来像这样的列表:

lst = [1,2,3,4,5]

如何比较数据框中的列表和列,同时删除列表中与数据框中匹配的元素?

新列表将是:

lst = [5]

要在数据框中添加列有许多重复的数字,因此如果它同时在列表和列中,则只需删除一次。

4

1 回答 1

4

使用numpy.setdiff1d或减去sets:

df = pd.DataFrame([1,2,3,4],columns=['number']) 
print (df)

lst = [1,2,3,4,5]

L = np.setdiff1d(lst, df['number'])
print (L)
[5]

或者:

L = list(set(lst) - set(df['number']))
print (L)
[5]
于 2018-08-20T12:15:17.787 回答