python - 如何将一系列数组转换为二维 numpy 数组

标签 python numpy pandas

有没有办法将每行包含一个数组的 Pandas 系列转换为二维 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.]]

有没有简单的方法来做到这一点?感谢您的帮助!

最佳答案

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.]])

关于python - 如何将一系列数组转换为二维 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37512442/

相关文章:

python - 以并行方式从数组中删除条目

python - 从终端调用时使用默认 Python 而不是 Anaconda 安装

python pandas read_csv如何加快处理时间戳

python - 从现有矩阵的行列表创建新的 numpy 矩阵

python - 在 Scipy 稀疏矩阵中寻址范围

python - 在 Pandas 中重采样时的时间增量平均值

python - 字符串拆分有异常

python - 如何在 Python 的同一行打印多行字符串

python - 将列表值分配给 Pandas 数据框

python - 求列的总和,即使列不存在也添加零