gpt4 book ai didi

python - 将二维数组中的元素更改为数组

转载 作者:太空宇宙 更新时间:2023-11-03 15:25:15 24 4
gpt4 key购买 nike

在 numpy 中,我有一个二维数组,例如:

[
[1 2 3 4 5]
[2 3 1 4 5]
.....
[3 5 2 3 5]
]

我想将此数组中的每个元素替换为一维数组,例如

1 -> [0 0 0 0 1]
2 -> [0 0 0 1 0]

等等

这会将元素转换为数组,并将整个 2d 数组转换为 3d 数组。我尝试了几件事,但没有任何效果。这样做的正确方法应该是什么?谢谢。

最佳答案

假设这是您的二维数组:

x=np.random.randint(1,3,size=(3,2))
print(x)

# [[2 2]
# [1 2]
# [2 1]]

创建数组:

y=np.array([[0,0,0,0,0],[0,0,0,0,1],[0,0,0,1,0]])

您可以将此数组视为一个映射:

0 --> [0,0,0,0,0]   # y[0] is mapped to [0,0,0,0,0]
1 --> [0,0,0,0,1] # y[1] ... [0,0,0,0,1]
2 --> [0,0,0,1,0] # y[2] ... [0,0,0,1,0]

然后你想要的数组由y[x]

给出
print(y[x])

# [[[0 0 0 1 0]
# [0 0 0 1 0]]

# [[0 0 0 0 1]
# [0 0 0 1 0]]

# [[0 0 0 1 0]
# [0 0 0 0 1]]]

关于python - 将二维数组中的元素更改为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8108649/

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