gpt4 book ai didi

python - DataFrames 的简单合并

转载 作者:行者123 更新时间:2023-11-28 21:47:22 27 4
gpt4 key购买 nike

我有一个相对简单的问题。两个 Pandas 数据框:

    a b
one 1 2

    a c
one 1 3

我想得到

    a b c
one 1 2 3

我已经尝试过 pd.join 和 pd.concat,它们给我重复的行或列,以及 pd.merge,它合并数据但丢失索引名称。

<!-- language: Python -->
a=pd.DataFrame({'a':{'one':1},'c':{'one':3}})
b=pd.DataFrame({'a':{'one':1},'b':{'one':2}})
pd.merge(a,b)

pd.merge(a,b)

a c b
0 1 3 2

我承认我可能错过了一些关于 pandas 的琐碎事情,或者试图以错误的方式解决问题。

最佳答案

我认为您可以将参数 left_indexright_indexon 添加到 merge然后 sort_index :

print pd.merge(a,b, left_index=True, right_index=True, on='a').sort_index(axis=1)
a b c
one 1 2 3

有趣的是,在 pandas 版本 0.18.0 中,您只能指定一个 - left_indexright_index,之前在 pandas 版本 0.17.2 中是错误的:

print pd.merge(a,b, left_index=True, on='a').sort_index(axis=1)
a b c
one 1 2 3

print pd.merge(a,b, right_index=True, on='a').sort_index(axis=1)
a b c
one 1 2 3

关于python - DataFrames 的简单合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36592746/

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