gpt4 book ai didi

python - Pandas 完整外部索引与 NaN 连接以处理不匹配的索引

转载 作者:行者123 更新时间:2023-12-01 03:07:33 25 4
gpt4 key购买 nike

尝试对这两个 Pandas 数据帧进行完整的外部联接:

df1 = pd.DataFrame({'a': [1,2,1], 'b': [1,1,2], 'c': [1,2,3]}).set_index(['a', 'b'])
df2 = pd.DataFrame({'a': [1,2,3], 'd': [11,12,13]}).set_index(['a'])

>>> df1
c
a b
1 1 1
2 1 2
1 2 3

>>> df2
d
a
1 11
2 12
3 13

我继续像这样合并这两个:

>>> df1.merge(df2, how='outer', left_index=True, right_index=True)

c d
a b
1 1 1 11
2 1 2 12
1 2 3 11

虽然我希望在此连接中也应返回不匹配的索引,如下所示:

       c    d
a b
1 1 1 11
2 1 2 12
3 NaN NaN 13
1 2 4 11

最佳答案

你可以使用一个小技巧 - reset_index按级别b合并和最后set_index通过b:

df2 = df1.reset_index(level='b')
.merge(df2, how='outer', left_index=True, right_index=True)
.set_index('b', append=True)
print (df2)
c d
a b
1 1.0 1.0 11
2.0 3.0 11
2 1.0 2.0 12
3 NaN NaN 13

关于python - Pandas 完整外部索引与 NaN 连接以处理不匹配的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43206026/

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