Python Pandas join()工作,但concat()失败

Python Pandas join()工作,但concat()失败,python,pandas,Python,Pandas,我想使用Pandas 0.14.1对具有相同行索引的两个数据帧执行外部联接 df1的形状为456,1,df2的形状为139,5 df2中的大多数键都可以在df1中找到: 加入工作: concat失败: 什么原因可能导致此错误?如果其中一个索引具有重复的值,则可能会出现此错误。比如说, import pandas as pd df1 = pd.DataFrame(np.random.random((5,1)), index=list('AACDE'), co

我想使用Pandas 0.14.1对具有相同行索引的两个数据帧执行外部联接


df1的形状为456,1,df2的形状为139,5

df2中的大多数键都可以在df1中找到:

加入工作:

concat失败:


什么原因可能导致此错误?

如果其中一个索引具有重复的值,则可能会出现此错误。比如说,

import pandas as pd
df1 = pd.DataFrame(np.random.random((5,1)), index=list('AACDE'), 
                   columns=['foo'])
df2 = pd.DataFrame(np.random.random((4,1)), index=list('CDEF'), 
                   columns=['bar'])
然后

但是


df1的形状是456,1,df2的形状是139,5,你是说1456和5139?不是:456和139行。事实上,错误消息令人困惑,因为它报告了转置的形状。可能的原因:其中一个数据帧具有重复的索引值。发现从下游成功加入。这可能会导致concat失败,尽管抛出的错误并不明显。是的,确切地说:通过下游错误发现其中一个数据帧中的索引具有重复值。感谢您的回复。
[in] df3=df1.join(df2,how='outer')
[in] df3.shape
[out] 473,6
[in] df3=pd.concat([df1,df2],axis=1,join='outer')
[out] ValueError: Shape of passed values is (6, 473), indices imply (6, 472)
import pandas as pd
df1 = pd.DataFrame(np.random.random((5,1)), index=list('AACDE'), 
                   columns=['foo'])
df2 = pd.DataFrame(np.random.random((4,1)), index=list('CDEF'), 
                   columns=['bar'])
In [50]: df1.join(df2, how='outer')
Out[50]: 
        foo       bar
A  0.846814       NaN
A  0.638571       NaN
C  0.516051  0.573165
D  0.789398  0.095466
E  0.921592  0.970619
F       NaN  0.061434
In [51]: pd.concat([df1,df2], axis=1, join='outer')
ValueError: Shape of passed values is (2, 6), indices imply (2, 5)