有没有办法将每个行包含数组的Pandas系列转换为2D numpy数组?
当您在Python中显示时,系列如下所示:
[array([ 58., -1., -1., -1., -1.])
array([ 77., 95., -1., -1., -1.])]
我想得到一个看起来像这样的numpy矩阵:
[[ 58., -1., -1., -1., -1.]
[ 77., 95., -1., -1., -1.]]
有一种简单的方法吗?任何帮助表示赞赏!
答案 0 :(得分:4)
import pandas as pd
import numpy as np
s = pd.Series([np.array([ 58., -1., -1., -1., -1.]),
np.array([ 77., 95., -1., -1., -1.])])
rslt = np.array(s.tolist())
rslt
Out[16]:
array([[ 58., -1., -1., -1., -1.],
[ 77., 95., -1., -1., -1.]])
答案 1 :(得分:1)
l = [pd.Series([np.array([ 77., 95., -1., -1., -1.]),np.array([ 58., -1., -1., -1., -1.])])]
答案 2 :(得分:1)
如果:
s = pd.Series([np.array([ 58., -1., -1., -1., -1.]),
np.array([ 77., 95., -1., -1., -1.])])
然后
s.apply(pd.Series).values