numpy.trim_zeros#
- numpy.trim_zeros(filt, trim='fb', axis=None)[源代码]#
删除沿一个维度但沿所有其他维度都为零的值.
- 参数:
- filtarray_like
输入数组.
- trim{“fb”, “f”, “b”}, 可选
一个字符串,其中"f"表示从前面修剪,"b"表示从后面修剪.默认情况下,零在两侧都被修剪.前面和后面指的是维度的边缘,"前面"指的是索引最低的侧面 0,"后面"指的是索引最高的侧面(或索引 -1).
- 轴int 或 sequence,可选
如果为 None,则将裁剪 filt ,以便返回最小的边界框,该边界框仍包含所有非零值.如果指定了轴,则 filt 将仅在由 trim 指定的侧面上沿该维度进行切片.剩余区域将是仍然包含所有非零值的最小区域.
在 2.2.0 版本加入.
- 返回:
- 已修剪的ndarray 或 sequence
修剪输入的结果.维度数和输入数据类型将保留.
注释
对于全零数组,首先修剪第一个轴.
示例
>>> import numpy as np >>> a = np.array((0, 0, 0, 1, 2, 3, 0, 2, 1, 0)) >>> np.trim_zeros(a) array([1, 2, 3, 0, 2, 1])
>>> np.trim_zeros(a, trim='b') array([0, 0, 0, ..., 0, 2, 1])
支持多个维度.
>>> b = np.array([[0, 0, 2, 3, 0, 0], ... [0, 1, 0, 3, 0, 0], ... [0, 0, 0, 0, 0, 0]]) >>> np.trim_zeros(b) array([[0, 2, 3], [1, 0, 3]])
>>> np.trim_zeros(b, axis=-1) array([[0, 2, 3], [1, 0, 3], [0, 0, 0]])
保留输入数据类型,列表/元组输入表示列表/元组输出.
>>> np.trim_zeros([0, 1, 2, 0]) [1, 2]