Python 合并2个数据帧

Python 合并2个数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我正在尝试合并以下两个数据帧 df.head(): df1.head(): 使用以下命令: df1 = df1.merge(df, how='left',left_on=(['x','y','z']),right_index=True) 出现以下错误: ValueError:len(left_on)必须等于“right”索引中的级别数 df总共有11458060行,df1有2528243行 我真的不知道这意味着什么。有人能告诉我我可能做错了什么吗?我想你需要在x、y和z列上: print df

我正在尝试合并以下两个数据帧

df.head():

df1.head():

使用以下命令:

df1 = df1.merge(df, how='left',left_on=(['x','y','z']),right_index=True)
出现以下错误:

ValueError:len(left_on)必须等于“right”索引中的级别数

df总共有11458060行,df1有2528243行

我真的不知道这意味着什么。有人能告诉我我可能做错了什么吗?

我想你需要在
x
y
z
列上:

print df1.merge(df, how='left', on=['x','y','z'])

中的参数:

打开:要连接的列(名称)。必须在左侧和右侧数据框对象中找到。如果未传递且left_index和right_index为False,则数据帧中列的交点将被推断为连接键


如果我的回答有帮助,别忘了。谢谢。如果您在合并中指示left\u on=某些内容,则还必须指示right\u on。这仅在两个数据帧中的列名称不相同时才有用。否则就使用on=某物。
df1 = df1.merge(df, how='left',left_on=(['x','y','z']),right_index=True)
print df1.merge(df, how='left', on=['x','y','z'])