熊猫系列到Numpy ndarray

时间:2018-11-08 14:34:38

标签: python pandas numpy python-3.6

我有一个与此类似的数据帧(但更大)。

>>> df = pd.DataFrame([ [ 'a', np.array([ 1, 2]) ], [ 'b', np.array([ 3, 4 ]) ] ])
   0       1
0  a  [1, 2]
1  b  [3, 4]

最后一栏的形状列为...

>>> df[1].shape
(2,)

我希望它被列为(2,2)。我可以通过以下行完成此操作,但是tolist()的性能很差。

>>> np.array(df[1].tolist()).shape
(2, 2)

它也可以是Pandas数据框,只要它能正确报告形状即可。还有其他建议吗?

1 个答案:

答案 0 :(得分:4)

这是不可能的!

熊猫将每个Series保持为一维ndarray。如果您要尝试使用多个维度,Pandas将强制将其设为具有dtype的{​​{1}}的一维数组。

如果您只是想获取内容并将其制成二维数组,那么我建议

object

否则,建议您将它们放在两个不同的列中。