gpt4 book ai didi

python - 将两个 pandas DataFrame 与一个唯一的列组合起来,并保留行索引 (Python)

转载 作者:行者123 更新时间:2023-12-04 00:56:45 25 4
gpt4 key购买 nike

我试图将两个数据框合二为一。每个数据框都有一个唯一的列名。行索引可能在两个数据帧之间重叠,但也有唯一的行索引。

这是一个例子:

df1  = pd.DataFrame({'ColumnA': [1, 2, 3, 4]}, index=['a', 'b', 'c', 'd'])
df2 = pd.DataFrame({'ColumnB': [5, 6, 7, 8]}, index=['a', 'b', 'e', 'f'])

我期望结果如下:

 ColumnA   ColumnB
a 1 5
b 2 6
c 3 NaN
d 4 NaN
e NaN 7
f NaN 8

我尝试了以下方法:

df1 = df1.merge(df2, left_index=True, right_index=True)

我也试过这个:

df1 = pd.concat([df1, df2], axis=1, sort=False)

结果,唯一行都消失了。

有人可以帮我吗?谢谢。

最佳答案

IIUC combine_firstjoin

df1.combine_first(df2)

ColumnA ColumnB
a 1.0 5.0
b 2.0 6.0
c 3.0 NaN
d 4.0 NaN
e NaN 7.0
f NaN 8.0

df1.join(df2,how='outer')

ColumnA ColumnB
a 1.0 5.0
b 2.0 6.0
c 3.0 NaN
d 4.0 NaN
e NaN 7.0
f NaN 8.0

关于python - 将两个 pandas DataFrame 与一个唯一的列组合起来,并保留行索引 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61869624/

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