AWS DLAMI中的Pandas np.array列

时间:2019-01-23 22:02:27

标签: python pandas amazon-ec2

我遇到了将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实例上失败?

1 个答案:

答案 0 :(得分:1)

感谢您打开此问题。

我能够在v21.2 ubuntu DLAMI实例上复制此问题。我们在DLAMI上使用的是熊猫版0.22.0

在我的计算机上,我正在使用版本0.24.2的熊猫,因此不会遇到上述问题。

感谢举报,我们将尽快采取行动并解决问题。

就您而言,现在,我建议按照以下说明卸载熊猫并重新安装熊猫:

pip uninstall pandas pip install pandas==0.24.2