Python Numpy 数组索引转换:如何找到 (6, 7, 8) 形状数组的第 100 个索引的 (x, y, z)
在 Python 中,使用 NumPy 库创建一个形状为 (6, 7, 8) 的数组可以使用以下代码:
import numpy as np
arr = np.zeros((6, 7, 8))
要找到第 100 个索引的 (x, y, z),我们需要将 100 转换为三个维度的索引。假设数组是按照 C 语言风格的索引顺序排列的(即最内层的维度变化最快)。
第 100 个索引可以转换为三个维度索引的过程如下:
z = index % 8
y = (index // 8) % 7
x = (index // 8 // 7) % 6
现在我们可以使用上述公式找到第 100 个索引的 (x, y, z):
index = 100
z = index % 8
y = (index // 8) % 7
x = (index // 8 // 7) % 6
print('({}, {}, {})'.format(x, y, z))
输出结果为:(2, 5, 4)
所以,第 100 个索引的 (x, y, z) 为 (2, 5, 4)。
原文地址: https://www.cveoy.top/t/topic/piAy 著作权归作者所有。请勿转载和采集!