gpt4 book ai didi

python - 如果列值不在 df2 列中,则获取 df1 的行

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:57 25 4
gpt4 key购买 nike

设置

我有 2 个 pandas DataFrame,

df1 = pd.DataFrame(data = {'col1' : [1, 2, 3], 'col2' : [10, 11, 12], 'col3' : [4, 5, 6]}) 
df2 = pd.DataFrame(data = {'col1' : [1, 2, 4], 'col2' : [10, 11, 12]})

使得df1是,

   col1  col2  col3
0 1 10 4
1 2 11 5
2 3 12 6

df2是,

   col1  col2
0 1 10
1 2 11
2 4 12
<小时/>

问题

我想选择 df2col1 中具有值但不在 df2 中的 col1 中的所有行。

在示例中,这意味着 result_df 应该是,

   col1  col2
2 4 12

但是下面的尝试,

result_df = df2[~df2.col1.isin(list(df2['col1']))]

导致空数据框。

我做错了什么?

最佳答案

删除列表(isinSeries 配合使用很好)并将 df2 更改为 df1:

result_df = df2[~df2['col1'].isin(df1['col1'])]
print (result_df)
col1 col2
2 4 12

关于python - 如果列值不在 df2 列中,则获取 df1 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54367632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com