python - 在循环中附加到 numpy 数组的最干净的方法是什么?

标签 python numpy

目前,我正在这样做:

myDict = {}
for in range(10):
    myDict[i] = np.ones(8)

最后我想要的是一个方形数组,理想情况下我不必预先定义所有几何图形。

我尝试过这个:

myArray = np.array([])
for i in range(10):
    myArray[i] = np.ones(8)

但它不允许我索引。

最干净的方法是什么?

最佳答案

根据this post ,有两种大致相同有效的方法:

第一个,也是最简单的,是将 numpy 数组附加到循环中的普通 Python 列表,并在最后调用 np.concatenate 一次

在开头分配一个大的零数组(如果您知道维度)并对其进行索引,如下所示:

myArray = np.zeros((10, 8))
for i in range(10):
    myArray[i,:] = np.ones(8)

第二种方法可能更容易移植到最终移植到 C 或进一步矢量化。

关于python - 在循环中附加到 numpy 数组的最干净的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69118476/

相关文章:

python - 使用 format() 打印 numpy timedelta64

Python 3 使用 Matplotlib 添加颜色条

python - 为 Django 网站创建 .gitignore 文件

python - 以这种方式循环遍历 SQL 结果会返回期望的结果吗?

php - 如何在 Python 中获取相同的 PHP adler32 哈希?

python - "Expanding Mode"类似于 Pandas "expanding_mean"

python - 如何让我的 Python 代码保持在每行 80 个字符以下?

python - 如何矢量化轨迹段之间的点积

python - 从 HTTP 链接加载 .npz

python - 从安装了新 ArcGIS 10.1 的 scipy- 新计算机导入统计信息时出错