是否存在numpy like 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()
这将用于将标量启发式映射到确定它的矩阵中的相邻单元格(例如,具有与{{{{{> < 1}}操作)。
答案 0 :(得分:1)
喜欢这个吗?
>>> 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的向量。