使用以下方法对 2D Numpy 数组建立索引两个单独的索引列表并不像使用单个索引列表那么简单。在处理大型数组时,这可能具有挑战性,因为它需要广播和重塑数组才能实现所需的索引选择。
Numpy 中的 np.ix_ 函数可用于创建索引数组的元组,这些索引数组可以相互广播以实现所需的索引模式。这种方法可以保持可读性并促进代码优化。
要使用 np.ix_ 执行索引,请按照以下步骤操作:
以下代码演示了如何使用 np.ix_ 进行基于索引的选择:
<code class="python">import numpy as np # Create indices row_indices = [4, 2, 18, 16, 7, 19, 4] col_indices = [1, 2] # Create broadcasting arrays index_tuples = np.ix_(row_indices, col_indices) # Perform indexing x_indexed = x[index_tuples]</code>
>>> x_indexed array([[76, 56], [70, 47], [46, 95], [76, 56], [92, 46]])
替代语法:
使用 np.ix_ 的替代语法是使用 : 运算符指定沿轴的所有索引,除非另有指定。
广播:
需要注意的是,广播是沿着输入数组的轴发生的。因此,沿每个轴的索引数组的大小应与输入数组的相应维度相匹配。
优化:
使用 np.ix_ 和广播进行索引可以提供显着的性能优势与迭代索引或使用布尔掩码相比。这在处理大型数组时特别有利。
以上是如何使用'np.ix_”为具有两个索引列表的 2D NumPy 数组建立索引?的详细内容。更多信息请关注PHP中文网其他相关文章!