【发布时间】:2021-01-03 08:03:03
【问题描述】:
我有一个pandas.Series,每个元素都是一个numpy.array,
例如:
p = pandas.Series([numpy.array([1,2]), numpy.array([2,4])])
我尝试将整个 Series 转换为多维 (2,2) numpy.array,为此我使用 Series 的 values 方法,但是这个返回一个单维 numpy 数组,每个数组中的元素是numpy.array,数组的dtype是object:
In [18]: p = pandas.Series([numpy.array([1,2]), numpy.array([2,4])])
In [19]: p.values
Out[19]: array([array([1, 2]), array([2, 4])], dtype=object)
我想要达到的结果是该系列将被创建为 numpy 数组
In [23]: a = numpy.array([numpy.array([1,2]), numpy.array([2,4])])
In [24]: a
Out[24]:
array([[1, 2],
[2, 4]])
In [25]: a.shape
Out[25]: (2, 2)
有人知道如何进行这种转换吗? to_numpy 方法对我也不起作用。
【问题讨论】:
-
也许您想使用 pandas DataFrame 而不是 Series。系列通常用于一维数据。如果你使用
pandas.DataFrame([numpy.array([1,2]), numpy.array([2,4])]).values,你应该会得到你想要的结果。