我不知道为什么这让我如此困惑。我正在尝试组合两个数据帧,并且两者共享相同的索引(尽管作为注释,它们可能不是相同的顺序)。
df1 = |firstrow 10|
|secondrow 15|
df2 = |secondrow 115|
|firstrow 1000|
我希望得到的数据框为:
result = |firstrow 10 1000|
|secondrow 15 115|
我试过这样做:
df = pd.merge(df1,df2, on="INDEXNAME"), but it throws a KeyError on INDEXNAME
谢谢!
答案 0 :(得分:1)
我认为您可以使用concat
(默认为外连接):
df = pd.concat([df1, df2], axis=1)
如果需要内联:
df = pd.concat([df1, df2], axis=1, join='inner')
或merge
(默认为inner
加入)参数left_index
和right_index
:
df = pd.merge(df1, df2, left_index=True, right_index=True)
样品:
df1 = pd.DataFrame({'a':[10,15]}, index=['firstrow','secondrow'])
df2 = pd.DataFrame({'b':[115,1000]}, index=['secondrow','firstrow'])
print (df1)
a
firstrow 10
secondrow 15
print (df2)
b
secondrow 115
firstrow 1000
print (pd.concat([df1, df2], axis=1))
a b
secondrow 15 115
firstrow 10 1000
print (pd.merge(df1, df2, left_index=True, right_index=True))
a b
secondrow 15 115
firstrow 10 1000