如何将列表与数据框列进行比较,如果元素在数据框列和列表之间匹配,如何从列表中删除元素?

How to compare list against column of dataframe, and remove elements from list if elements match between dataframe column and list?

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

number
1
2
3
4

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

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

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

新列表为:

lst = [5]

要在dataframe中添加的列有很多重复的数字,所以如果它在列表和列中,只需要删除一次数字。

使用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]