Pandas-如何在包括索引在内的多个列上进行合并

时间:2016-10-10 16:29:16

标签: python pandas merge

我想在多个列上执行pandas合并,其中一列是索引列。

以下是示例数据框:

    df1 = pd.DataFrame(np.random.rand(4,4), columns=list('ABCD'))
    df2 = pd.DataFrame(np.random.rand(4,4), columns=list('EFGH'), index= [5,2,4,1])
    df1['E'] = ['hello','hello','hello','world']
    df2['E'] = ['world','world','hello','hello']

我想在索引和列E上执行内部合并,以便它只返回一行:(index,E)=(1,'hello')。

1 个答案:

答案 0 :(得分:2)

这是怎么回事?

In [82]: pd.merge(df1.reset_index(), df2.reset_index(), on=['index','E']).set_index('index')
Out[82]:
              A        B         C         D      E        F         G         H
index
1      0.516878  0.56163  0.082839  0.420587  hello  0.62601  0.787371  0.121979