Python 熊猫在这两个数据帧上连接会导致值错误,但不同版本的错误不同,为什么?
可能重复 在尝试合并以下两个数据帧时,我收到了一些有趣的消息。有人知道发生了什么事吗?删除E将修复此错误Python 熊猫在这两个数据帧上连接会导致值错误,但不同版本的错误不同,为什么?,python,pandas,Python,Pandas,可能重复 在尝试合并以下两个数据帧时,我收到了一些有趣的消息。有人知道发生了什么事吗?删除E将修复此错误 newvi = pd.DataFrame({'a':['E1000305', 'E1000505', 'E1001071', 'E99836', 'E1003822']}) newsm = pd.DataFrame({'a':['E1000305', 'E1000305', 'E1000305', 'E1000305', 'E1000305']}) newvi.a #0 E10003
newvi = pd.DataFrame({'a':['E1000305', 'E1000505', 'E1001071', 'E99836', 'E1003822']})
newsm = pd.DataFrame({'a':['E1000305', 'E1000305', 'E1000305', 'E1000305', 'E1000305']})
newvi.a
#0 E1000305
#1 E1000505
#2 E1001071
#3 E99836
#4 E1003822
#Name: a, dtype: object
newsm.a
#0 E1000305
#1 E1000305
#2 E1000305
#3 E1000305
#4 E1000305
#Name: a, dtype: object
newvi.join(newsm, on='a')
#my computer
#ValueError: columns overlap but no suffix specified: Index([u'a'], dtype='object')
>>> pd.__version__
u'0.18.1'
#server
#ValueError: You are trying to merge on object and int64 columns. If you wish to proceed you should use pd.concat
>>> pd.__version__
'0.24.2'
newvi.join(newsm.set_index('a'),on='a')
将索引设置为“a”似乎可以解决您的错误,结果是否符合您的预期?您希望连接的数据帧看起来像什么?它可以解决问题是的。但仍感兴趣的是为什么会发生这种情况,这似乎与join中
的行为以及它如何使用索引有关。请参阅
文档中的。我认为这不是一个bug