gpt4 book ai didi

python - 获取 numpy 数组中第 k 个维度的第 i 个切片

转载 作者:太空狗 更新时间:2023-10-29 22:05:24 26 4
gpt4 key购买 nike

我有一个 n 维的 numpy 数组,我想获取第 k 的第 i 切片方面。一定有比这更好的了

# ... 
elif k == 5:
b = a[:, :, :, :, :, i, ...]
# ...

最佳答案

b = a[(slice(None),) * k + (i,)]

手动构造索引元组。

Python language reference 中所述, 形式的表达

a[:, :, :, :, :, i]

转换为

a[(slice(None), slice(None), slice(None), slice(None), slice(None), i)]

我们可以通过直接构建元组而不是使用切片符号来达到相同的效果。 (有一个小警告,构建元组直接生成 a[(i,)] 而不是 a[i] for k=0,但 NumPy 对标量 i 的处理方式相同。)

关于python - 获取 numpy 数组中第 k 个维度的第 i 个切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42817508/

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