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

时间:2018-08-20 12:10:55

标签: python python-3.x list pandas list-comparison

我有一个如下所示的df:

number
1
2
3
4

看起来像这样的列表:

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

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

新列表为:

lst = [5]

要在datafrrame中添加该列,有许多重复的数字,因此,如果列表和列中都有该数字,则只需删除一次。

1 个答案:

答案 0 :(得分:3)

使用numpy.setdiff1d或减去set

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]