gpt4 book ai didi

python - 将数组索引插入转置数组

转载 作者:行者123 更新时间:2023-12-01 07:15:06 24 4
gpt4 key购买 nike

假设我有数组:

[[2,1,5,2], 
[1,4,2,1],
[4,5,5,7],
[1,5,9,3]]

我试图将数组转置为 (16, 3) 形状,其中结果数组中的前两个元素是索引号,最后一个元素是值。例如:

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

这可以通过 numpy 函数或类似函数实现吗?或者我必须用我自己的函数来做到这一点?

工作示例代码:

import numpy as np

src = np.array([[2,1,5,2],
[1,4,2,1],
[4,5,5,7],
[1,5,9,3]])

dst = np.array([])


for x in range(src.shape[0]):
for y in range(src.shape[1]):
dst = np.append(dst, [[y, x, src[x][y]]])

print(dst.reshape(16,3))

最佳答案

我不知道 numpy 中是否有一个函数可以实现这一点,但您可以使用列表理解来轻松构建该数组:

import numpy as np

src = np.array([[2,1,5,2],
[1,4,2,1],
[4,5,5,7],
[1,5,9,3]])

dst = np.array([ [y, x, src[x][y]]
for x in range(src.shape[0])
for y in range(src.shape[1])])

print(dst.reshape(16,3))

希望这能有所帮助。

关于python - 将数组索引插入转置数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58015348/

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