繁体   English   中英

如何根据另一个数组的值将较小的数组复制到较大的数组?

[英]How to copy a smaller array to a larger array based on a value of another array?

我有三个 arrays

a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) #Original large array
b = np.array([4, 8, 5]) #Smaller array
c = np.array([2, 7, 9]) #Arguments

结果应如下所示

np.array([4, 4, 4, 8, 8, 8, 8, 8, 5, 5])

这意味着 [0, 1, 2] 被 4 替换,[3, 4, 5, 6, 7] 被 8 替换, [8, 9] 被 5 替换。是否有任何 numpy 功能/代码?

我不知道是否存在这样的 function 但下面的 function 可以完成工作:

for i, element in enumerate(a):
if a[i] <= c[x]:
    a[i] = b[x]
else:
    x+=1
    a[i] = b[x]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM