我有一个与此类似的数据帧(但更大)。
>>> 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数据框,只要它能正确报告形状即可。还有其他建议吗?
答案 0 :(得分:4)
这是不可能的!
熊猫将每个Series
保持为一维ndarray
。如果您要尝试使用多个维度,Pandas将强制将其设为具有dtype
的{{1}}的一维数组。
如果您只是想获取内容并将其制成二维数组,那么我建议
object
否则,建议您将它们放在两个不同的列中。