gpt4 book ai didi

python - 通过匹配两个数据帧的整行来创建 bool 掩码

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

我有两个数据框,每个数据框包含两列美国州和城镇。我想在第一个数据框中创建一个新列,该列具有 bool 值,指示与他们的州配对的城镇是否在第二个数据框中。

例子:

df = pd.DataFrame({'countries':['france', 'germany', 'spain', 'uk', 'norway', 'italy'], 
'capitals':['paris', 'berlin', 'madrid', 'london', 'oslo', 'rome']})

df2 = pd.DataFrame({'countries':['france', 'spain', 'uk', 'italy'],
'capitals':['paris', 'madrid', 'london', 'rome']})

df

countries capitals
0 france paris
1 germany berlin
2 spain madrid
3 uk london
4 norway oslo
5 italy rome

df2

countries capitals
0 france paris
1 spain madrid
2 uk london
3 italy rome

我想做的是

df> countries  capitals  bool
france paris True
germany berlin False
spain madrid True
uk london True
norway oslo False
italy rome True

谢谢!

最佳答案

使用指示器执行 FULL OUTER JOIN。

u = df.merge(df2, how='outer', indicator='bool')
u['bool'] = u['bool'] == 'both'
u

countries capitals bool
0 france paris True
1 germany berlin False
2 spain madrid True
3 uk london True
4 norway oslo False
5 italy rome True

在中间步骤中,我们看到

df.merge(df2, how='outer', indicator='bool')

countries capitals bool
0 france paris both
1 germany berlin left_only
2 spain madrid both
3 uk london both
4 norway oslo left_only
5 italy rome both

indicator 指定行所在的位置。我们现在要标记“bool”显示“both”的所有行(以获得预期的输出)。

关于python - 通过匹配两个数据帧的整行来创建 bool 掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55254189/

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