gpt4 book ai didi

python - 使用 2d numpy 数组切片 3d numpy 数组

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

是否可以使用 2d 数组对 3d 数组进行切片。我假设它可以完成,但需要您必须指定轴?

如果我有 3 个数组,这样:

A = [[1,2,3,4,5],
[1,3,5,7,9],
[5,4,3,2,1]] # shape (3,5)

B1 = [[1],
[2],
[3]] # shape (3, 1)

B2 = [[4],
[3],
[4]] # shape (3,1)

是否可以像这样使用 B1 和 B2 对 A 进行切片:

Out = A[B1:B2]

这样它会返回我:

Out = [[2,3,4,5],
[5, 7],
[2, 1]]

或者,如果切片在 Out 中创建不同长度的数组,这将不起作用吗?

最佳答案

Numpy 针对具有固定维度的同构数字数组进行了优化,因此它不支持不同的行或列大小。

但是你可以通过使用数组列表来实现你想要的:

Out = [A[i, B1[i]:B2[i]+1] for i in range(len(B1))]

关于python - 使用 2d numpy 数组切片 3d numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35732254/

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