用广义向量化函数证明 NumPy 数组
简介
证明 NumPy 数组是指将非零元素移至数组的一侧,使其更易于操作或 过程。虽然提供的 Python 函数侧重于 2D 矩阵的左对齐,但更高效、更全面的方法是使用 NumPy 向量化函数。
用于数组对齐的 NumPy 向量化函数
下面的函数 justify 提供了一种通用的方法来证明 2D 数组的左、右、上、下对齐方向:
import numpy as np def justify(a, invalid_val=0, axis=1, side='left'): if invalid_val is np.nan: mask = ~np.isnan(a) else: mask = a!=invalid_val justified_mask = np.sort(mask,axis=axis) if (side=='up') | (side=='left'): justified_mask = np.flip(justified_mask,axis=axis) out = np.full(a.shape, invalid_val) if axis==1: out[justified_mask] = a[mask] else: out.T[justified_mask.T] = a.T[mask.T] return out
参数:
用法示例:
a = np.array([[1, 0, 2, 0], [3, 0, 4, 0], [5, 0, 6, 0], [0, 7, 0, 8]]) justified_array = justify(a, side='left') print(justified_array) # Output: # [[1, 2, 0, 0], # [3, 4, 0, 0], # [5, 6, 0, 0], # [7, 8, 0, 0]]
justified_array = justify(a, axis=0, side='up') print(justified_array) # Output: # [[1, 7, 2, 8], # [3, 0, 4, 0], # [5, 0, 6, 0], # [6, 0, 0, 0]]
NumPy 的优点函数:
结论
提供的 NumPy 函数 justify 提供了一种稳健且有效的方法来证明 NumPy 数组的合理性。其通用性和矢量化实现使其成为数组操作和处理任务的多功能工具。
以上是NumPy 向量化函数如何在多个方向上有效地证明 NumPy 数组的合理性?的详细内容。更多信息请关注PHP中文网其他相关文章!