python - numpy : Add a 1d array (row) to an empty 2d array in Numpy Python

标签 python arrays numpy append

我事先不知道需要的二维数组 (a) 的行数和列数:

a = np.empty( (0,0), dtype=np.uint8 )
a.ndim
2

我设法将从文件中读取的每一行转换为名为 line 的一维字节数组

我想将每一行添加/append 到a,所以我尝试了:

np.vstack((a,line))

但我得到: ValueError:所有输入数组必须具有相同的维数

如果我调用a=np.append(a,line),维度数将变为1

你能帮忙吗?

最佳答案

np.vstack 的方向是正确的。唯一的要求是堆叠的数组必须具有相同的列数。看看这个:

array = None # initialise array to None first

for ...: # now inside the loop
    line = ... # read line from somewhere and get something like [201, 81, 237, 230]

    if array is None:
        array = line
    else: 
        array = np.vstack((array, line))

就性能而言,这实际上比仅在列表末尾创建数组更浪费。这是 numpy 数组的问题 - 它们的维度是不可变的。

关于python - numpy : Add a 1d array (row) to an empty 2d array in Numpy Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44888877/

相关文章:

java - 从列表中提取 String[] 元素

python - wx.NotificationMessage 属性错误: 'module' object has no attribute 'NotificationMessage'

python - Nosetests 缺少命令行选项

python - tkinter.TclError : couldn't recognize data in image file 错误

c - 为什么这个二维指针表示法有效而另一个无效

c++ - 将一维, "flattened"索引转换为N维数组的N维 vector 索引

python - odoo 12. 我无法对 Many2one 字段进行动态过滤

python - 具有周期性边界条件的 np.ndarray

python - 如何修改 2d 散点图以显示基于 csv 文件中第三个数组的颜色?

python - 使用多个逻辑条件从 numpy 数组中按列进行选择