gpt4 book ai didi

python - 具有元素作为其他对象索引的 Numpy 数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:35:34 24 4
gpt4 key购买 nike

以下脚本根据包含在列表中的颜色渐变创建 RGB 数组。数组“cabbage”的元素是列表“cucumber”的索引。以下脚本创建了一个数组“cauliflower”,其形状与“cabbage”相同,但索引替换为“cucumber”中的相应元组。在 Numpy 中是否有更直接的方法来执行此过程?

from numpy import array, shape, zeros

cabbage = array([[0,3,2],[3,2,1],[3,1,0]])
cucumber=[(0,100,0),(0,150,0),(0,200,0),(0,255,0)]
rows ,cols = shape(cabbage)
cauliflower = zeros((rows,cols),dtype=object)

for row in range(rows):
for col in range(cols):
cauliflower[row,col]=cucumber[cabbage[row,col]]

print cauliflower
[[(0, 100, 0) (0, 255, 0) (0, 200, 0)]
[(0, 255, 0) (0, 200, 0) (0, 150, 0)]
[(0, 255, 0) (0, 150, 0) (0, 100, 0)]]

最佳答案

Numpy 支持 fancy indexing :

>>> from numpy import array, shape, zeros
>>> cabbage = array([[0,3,2],[3,2,1],[3,1,0]])
>>> cucumber=array([(0,100,0),(0,150,0),(0,200,0),(0,255,0)])
>>> cucumber[cabbage]
array([[[ 0, 100, 0],
[ 0, 255, 0],
[ 0, 200, 0]],

[[ 0, 255, 0],
[ 0, 200, 0],
[ 0, 150, 0]],

[[ 0, 255, 0],
[ 0, 150, 0],
[ 0, 100, 0]]])

关于python - 具有元素作为其他对象索引的 Numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11809612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com