将两个数据框按索引合并,并去除key_0

3

我想通过索引列合并两个数据帧。我的代码如下:

import pandas as pd
import numpy as np
df1 = pd.DataFrame({'a': ['red', 'red', 'red']})
df2 = pd.DataFrame({'b': [1, 2, 2]})

df = df1.merge(df2, how='left', left_on=df1.index, right_on=df2.index)
print(df.head())

   key_0    a  b
0      0  red  1
1      1  red  2
2      2  red  2

结果中有一个不需要的列key_0。问题:如何去掉这一列(在合并之后不要删除任何内容)?

为什么需要合并?你需要使用 pd.concat([df1, df2], 1) - harvpan
我简化了这个例子。如果 df2df1 更长,那么我将得到带有 NaNs 的行。因此,我想要左合并。 - Carsten
我不认为这是一个重复的问题,因为我没有找到关于key_0问题的任何信息(在引用的问题中也没有提到)。因此,我认为如果有人遇到同样的问题,这可能是一个有用的参考。 - Carsten
1个回答

1

通过使用关键字 left_indexright_index,我可以将索引列视为常规列,并摆脱 key_0

df = df1.merge(df2, how='left', left_index=True, right_index=True)
print(df.head())

     a  b
0  red  1
1  red  2
2  red  2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接