我有 2 个列表(pandas.core.series.Series),我想列出其他系列中不存在的元素。所以我使用了'not in'运算符,但它不起作用,代码会打印整个列表。
for i in list1:
if i not in list2:
print(i)
此代码打印整个 list1,而不是打印 list2 中不存在的元素。我知道这应该是一个简单的任务,但我被卡住了,有人可以帮助我吗?
我有 2 个列表(pandas.core.series.Series),我想列出其他系列中不存在的元素。所以我使用了'not in'运算符,但它不起作用,代码会打印整个列表。
for i in list1:
if i not in list2:
print(i)
此代码打印整个 list1,而不是打印 list2 中不存在的元素。我知道这应该是一个简单的任务,但我被卡住了,有人可以帮助我吗?
您可以使用 Pandas 自己的Series.isin()
:
list1[~list1.isin(list2)]
您可以只使用集合并计算集合差异。
set(list1).difference(set(list2))
我使用〜演示isin,这意味着不在。isin构建一个假值的真掩码,然后应用于数据帧
list1 = pd.Series([1, 2, 3, 4, 5])
list2 = pd.Series([4, 5, 6, 7, 8])
print(list1[~list1.isin(list2)])
输出
1 2 3
list1 的值不在 list2 中