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

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

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

number
1
2
3
4

看起来像这样的列表:

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

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

新列表为:

lst = [5]

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

最佳答案

使用numpy.setdiff1d或减去集合:

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]

关于python - 如何将列表与数据框的列进行比较,并在数据框列和列表之间的元素匹配时从列表中删除元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51930466/

相关文章:

python - 将元组转换为通过递归连接数字

python - 导入函数参数 numpy

python - tensorflow 自动编码器损失不收敛

Python 文档字符串意外地没有

python - 提取 numpy 数组中每个元素的最后两位数字的有效方法

c# - Linq 查询在 C# 中返回值而不是设置值(附示例)

python - 有没有办法将列表中变量的更改反射(reflect)在列表中?

python - 从 C++ 代码自动生成流程图

python - Python 3.6 中的名称错误

python - python中高效的列表操作