【发布时间】:2016-05-04 07:54:15
【问题描述】:
我正在尝试合并以下 2 个数据框。
df.head():
x y z w
0 0.0056 11 824 51
1 0.0056 138 546 16
2 0.0056 328 1264 40
3 0.0056 1212 553 91
4 0.0056 1839 388 48
df1.head():
x y z
0 5539.0567 12243 27
1 5873.2923 14474 1540
2 3975.9776 11353 699
3 1508.5975 8250 628
4 66.7913 11812 538
使用以下命令:
df1 = df1.merge(df, how='left',left_on=(['x','y','z']),right_index=True)
然后出现以下错误:
ValueError: len(left_on) 必须等于 "right" 索引中的层数
df 总共有 11458060 行,df1 有 2528243 行
我真的不知道这意味着什么。谁能告诉我我可能做错了什么?
【问题讨论】:
-
如果您在合并中指明 left_on = 某些内容,您还必须指明 right_on。这仅在两个数据框中的列名称不同时才有用。否则只需使用 on = something。