我有以下两个数据帧:
df_a =
mukey DI PI
0 100000 35 14
1 1000005 44 14
2 1000006 44 14
3 1000007 43 13
4 1000008 43 13
df_b =
mukey niccdcd
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: columns overlap but no suffix specified: Index([u'mukey'], dtype='object')
为什么会这样?数据帧确实有公共的“mukey”值。
.join()
函数正在使用作为参数数据集传递的index
,因此您应该使用set_index
或使用.merge
函数。请找出两个适用于您的案例的例子:
或者
此错误表示这两个表具有一个或多个具有相同列名的列名。错误信息转换为:“我可以在两个表中看到相同的列,但在引入其中一个表之前,您也没有告诉我重命名”
您可以在使用del df['column name']从另一列引入前删除其中一列,或者使用lsuffix重新写入原始列,或者使用rsuffix重命名正在引入的列。
您在发布的数据片段上的错误有点晦涩,因为没有公共值,连接操作失败,因为这些值没有重叠它要求您为左侧和右侧提供一个后缀:
merge
有效,因为它没有此限制:相关问题 更多 >
编程相关推荐