numpy.trim_zeros#
- numpy.trim_zeros(filt, trim='fb', axis=None)[原始碼]#
移除沿著一個維度且在所有其他維度上皆為零的值。
- 參數:
- filtarray_like
輸入陣列。
- trim{“fb”, “f”, “b”}, 選項性
一個字串,其中 ‘f’ 代表從前端修剪,‘b’ 代表從後端修剪。預設情況下,零會從兩側修剪。前端和後端指的是維度的邊緣,“前端” 指的是索引最低的 0 側,而 “後端” 指的是索引最高的(或索引 -1)。
- axisint 或 sequence, 選項性
如果為 None,則會裁剪 filt,使得返回的最小邊界框仍然包含所有非零值。如果指定了軸,則只會在 trim 指定的側面上沿該維度切割 filt。剩餘區域將是仍然包含所有非零值的最小區域。
- 返回:
- trimmedndarray 或 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]])
輸入資料型別會被保留,輸入 list/tuple 意味著輸出 list/tuple。
>>> np.trim_zeros([0, 1, 2, 0]) [1, 2]