根据索引列合并DataFrame

时间:2016-03-12 14:40:03

标签: python pandas merge dataframe

我可以通过merge看到我尝试做的事情:Merge dataframes on index

为什么我不能使用import pandas as pd df = pd.DataFrame({'name':['joe strummer','johnny rotten'],'age':[73,80]}) df2 = pd.DataFrame({'name':['nancy','sid'],'age':[17,19]}) df.index.name = 'x' df2.index.name = 'y' pd.merge(df2,df, left_on='y',right_on='x') 执行相同的操作?

Y

1 个答案:

答案 0 :(得分:1)

这是可能的;只需使用update referent set genderReferent='',phoneReferent='',faxReferent='',adressReferent='38, boulevard de l'Ayrolles - B.P. 145',supportOrganization='',zipCode='',cityReferent='',countryReferent='' where oldReferentId=5077 代替left_index=Trueleft_on代替right_index=True

right_on

使用>>> pd.merge(df, df2, left_index=True, right_index=True) age_x name_x age_y name_y 0 73 joe strummer 17 nancy 1 80 johnny rotten 19 sid 不起作用,因为索引是DataFrame列的单独对象。索引可以具有名称,甚至可以与您的某个列具有相同的名称,但left_on将不会看到它,因为它只查看列名称。

documentation for merge为这些论点提供了以下指导:

  

left_index 布尔值,默认为F

     

使用左侧DataFrame中的索引作为连接键。如果是MultiIndex,则其他DataFrame中的键数(索引或列数)必须与级别数匹配