我遇到了将np.arrays插入到pandas数据框列的问题。
x = pd.DataFrame([0,1,2,3])
x['a'] = x.apply( lambda x : np.zeros(30) ,axis=1)
在本地计算机上运行此程序时,我没有任何问题,并获得了正确的输出
In [6]: x.head()
Out[6]:
0 a
0 0 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...
1 1 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...
2 2 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...
3 3 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...
但是在深度学习AMI(Ubuntu)20.0版(ami-0f9e8c4a1305ecd22)上运行时
我收到错误消息
ValueError: Shape of passed values is (4, 30), indices imply (4, 1)
两台机器都运行Python 3.6.5。现在,我的解决方法是将数组粘贴在列表中。
x['a'] = x.apply( lambda x : [np.zeros(30)] ,axis=1)
为什么我的代码在本地运行,但是在AMI实例上失败?
答案 0 :(得分:1)
感谢您打开此问题。
我能够在v21.2 ubuntu DLAMI实例上复制此问题。我们在DLAMI上使用的是熊猫版0.22.0
。
在我的计算机上,我正在使用版本0.24.2
的熊猫,因此不会遇到上述问题。
感谢举报,我们将尽快采取行动并解决问题。
就您而言,现在,我建议按照以下说明卸载熊猫并重新安装熊猫:
pip uninstall pandas
pip install pandas==0.24.2