python – 有一些numpy.map?

我可能会遗漏一些明显的东西,但我缺少一个函数numpy.map.那将是与
Python的map函数相同,但是在numpy数组中收集输出.例如,我可以有一个图像生成器genImage(i)基于单个输入生成一个2D图像(大小(m,n)),我想输入范围(k)到我的生成器函数并获得一个(k,m,n)数组.

目前,我会使用numpy.array(list(genImage,range(k))),但我觉得这个转换成列表是相当低效的(我的最终数组大小约为50 GB).我正在寻找对于numpy.map(genImage,range(k)),它类似于numpy.fromiter,但是对于迭代器的多维输出.

(我已经尝试了np.array(map(…)),但是返回一个带有地图的单元素数组,因为它是唯一的条目 – 这就是为什么:Why is it required to typecast a map into a list to assign it to a pandas series?)

有没有更好的方法来实现我想要的?我正在寻找一种理想的方式,我可以使用joblib.

最佳答案 如果我找对你,你需要
column_stack这样的工作方式:

import numpy as np

a = np.array([[1, 2], [3, 4], [5, 6]])

a = np.column_stack((range(3), a))

a
[[0 1 2]
 [1 3 4]
 [2 5 6]]
点赞