Python 2.7 ValueError:无法将大小为5的序列复制到维度为2的数组轴
使用numpy 1.7.1,下面的代码工作并产生如图所示的结果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
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)
我从来没有在有限的时间内独自解决过这个问题,这种回答很省时!