python - 有一些 numpy.map 吗?
问题描述
我可能在这里遗漏了一些明显的东西,但我遗漏了一个函数numpy.map
。这将与 Python 的map
函数相同,但将输出收集到一个numpy
数组中。例如,我可以有一个图像生成器,它基于单个输入genImage(i)
生成 2D 图像(大小为(m, n)
),我想输入range(k)
到我的生成器函数并获得一个(k, m, n)
数组。
目前,我会使用numpy.array(list(map(genImage, range(k)))
,但我觉得这种转换为列表的效率相当低(我的最终数组大小约为 50 GB)。因此,我正在寻找numpy.map(genImage, range(k))
,它类似于numpy.fromiter
,但用于迭代器的多维输出。
(我已经尝试过np.array(map(...))
,但是它返回一个带有地图的单元素数组,因为它是唯一的条目 - 这就是为什么:为什么需要将地图类型转换为列表以将其分配给熊猫系列?)
有没有更好的方法来实现我想要的?我正在寻找一种理想的方式,我可以使用 with 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]]
推荐阅读
- c - 两个文件在C程序中各输出一行
- database - 甲骨文,DBMS_SESSION.SET_CONTEXT
- mysql - Mysql重复结果与连接
- azure - 避免 Azure AD 颁发的 JWT 令牌中的个人信息
- android - 如何处理单个活动中的大量表格布局?
- javascript - 组合不重复javascript
- jquery - wordpress jquery .load(url + '#grabMe') 与视觉作曲家
- wordpress - 如何使用 add_action WordPress 更改值
- bar-chart - SSRS 2008R2 带聚合折线图的分组条形图
- java - 当我在android中取消选择1个复选框时如何取消选择全选复选框