Python 2.7 ValueError:无法将大小为5的序列复制到维度为2的数组轴

Python 2.7 ValueError:无法将大小为5的序列复制到维度为2的数组轴,python-2.7,numpy,pandas,Python 2.7,Numpy,Pandas,使用numpy 1.7.1,下面的代码工作并产生如图所示的结果 import pandas as pd import numpy as np d1 = pd.DataFrame({'Name': [1, 1, 1, 1, 1],'number': [1, 1, 1, 1, 1]}) d2 = pd.DataFrame({'Name': [1, 1, 1, 1, 1], 'number': [1, 1, 1, 1, 1]}) result = np.array([d1,d2]) Value

使用numpy 1.7.1,下面的代码工作并产生如图所示的结果

import pandas as pd
import numpy as np
d1 = pd.DataFrame({'Name': [1, 1, 1, 1, 1],'number': [1, 1, 1, 1, 1]})
d2 = pd.DataFrame({'Name': [1, 1, 1, 1, 1], 'number': [1, 1, 1, 1, 1]}) 
result =  np.array([d1,d2])

Value of result is,
array([    Name  number
0     1       1
1     1       1
2     1       1
3     1       1
4     1       1,
          Name  number
0     1       1
1     1       1
2     1       1
3     1       1
4     1       1], dtype=object)
但是,在numpy 1.9.2中,相同的输入会产生如下异常:

“ValueError:无法将大小为5的序列复制到维度为2的数组轴”


需要知道numpy不支持此操作的原因,或者可以在两个版本中使用的一些通用修复程序。我希望在numpy的两个版本中获得与1.7.1中相同的输出。

我能够用numpy 1.9.2重现您的问题。看起来numpy正在尝试做一个vstack。当形状相同时。我尝试了下面的方法,效果很好

result = np.empty(2, dtype=object)
result[:]= [d1, d2]

result
array([    Name  number
0     1       1
1     1       1
2     1       1
3     1       1
4     1       1,
          Name  number
0     1       1
1     1       1
2     1       1
3     1       1
4     1       1], dtype=object)

我从来没有在有限的时间内独自解决过这个问题,这种回答很省时!