序列的numpy矢量化赋值

2024-10-03 13:25:44 发布

您现在位置:Python中文网/ 问答频道 /正文

在numpylike in this discussion中有元素到序列的矢量化分配吗?你知道吗

例如:

xx = np.array([1,2], dtype=object)
expanded = np.arange(xx, xx+2)

而不是循环:

xx = np.array([1,2], dtype=object)
expanded = np.array([np.arange(x, x+2) for x in xx]).flatten()

这将用于将标量启发式映射到确定它的矩阵中的相邻单元(例如,具有来自correlation()操作的峰值重叠的单元的范围)。你知道吗


Tags: in元素objectnp序列thisarray矢量化
1条回答
网友
1楼 · 发布于 2024-10-03 13:25:44

像这样?你知道吗

>>> xx = np.array([3,8,19])
>>> (xx[:,None]+np.arange(2)[None,:]).flatten()
array([ 3,  4,  8,  9, 19, 20])

xx[:,None]操作将长度n向量转换为nx1矩阵,np.arange(2)[None,:])操作创建包含[0., 1.]的长度1x2矩阵。使用array broadcasting相加得到一个nx2矩阵,然后将其展平为长度为2n的向量。你知道吗

相关问题 更多 >