我有以下数据帧:
打印(df_a)
穆基迪皮
0 100000 35 14
1 1000005 44 14
2 1000006 44 14
3 1000007 43 13
4 1000008 43 13
打印(df_b)
穆基镍镉
0 190236 4
1 190237 6
2 190238 7
3 190239 4
4 190240 7
当我尝试连接这些数据帧时:
join_df=df_a.join(df_b,on='mukey',how='left')
我得到一个错误:
***ValueError:列重叠但未指定后缀:索引([u'mukey'],dtype='object')
为什么会这样?数据帧确实有公共的'mukey'值
您在发布的数据片段上的错误有点神秘,因为没有公共值,连接操作失败,因为值不重叠。它要求您为左侧和右侧提供后缀:
[173]on
:
df_a.join(df_b,on='mukey',how='left',lsuffix=''u left',rsuffix=''u right')
Output[173]:
mukey_左DI PI mukey_右NICDCD
指数
0 100000 35 14楠楠楠
10000054414楠楠楠
2 1000006 44 14楠楠楠
31000074313南南
4 1000008 43 13楠楠楠
merge之所以有效,是因为它没有此限制:
[176]on
:
df_a.merge(df_b,on='mukey',how='left')
Output[176]:
穆基迪皮尼卡德
0 100000 35 14南
10000054414南
2 1000006 44 14南
31000074313南
4 1000008 43 13南