熊猫连接问题:列重叠但未指定后缀

我有以下数据帧:

打印(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南

发表评论