gpt4 book ai didi

python - 我可以在一个 numpy 操作中使用 "rotate"和 slice 吗?

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

我有这样的数据:

[[[1, 2, 3]
[4, 5, 6]]
[[7, 8, 9]
[0, 1, 2]]]

我需要把它变成这个“形状”:

[[[1, 4], [2, 5], [3, 6]]
[[7, 0], [8, 1], [9, 2]]]

到目前为止,我拥有的最好的方法是:

for i in range(2):
pairs = tuple(
array[i, :, j] for j in range(3) # ---axis-2-length---
)
print(pairs)

生产:

([1, 4], [2, 5], [3, 6])
([7, 0], [8, 1], [9, 2])

虽然这样可以完成工作,但需要大量解释 Python,尤其是随着这些数据集的增长。所以我想知道我是否可以通过花哨的索引或转置或其他我的 numpy-fu 还不足以想象我自己的方式来完成这项工作。

有谁知道如何使用 numpy 更优雅地完成这项工作?

最佳答案

ndarray.transpose 转置将在这里工作。

>>> x.transpose(0, 2, 1)
array([[[1, 4],
[2, 5],
[3, 6]],

[[7, 0],
[8, 1],
[9, 2]]])

关于python - 我可以在一个 numpy 操作中使用 "rotate"和 slice 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53200551/

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