numpy.trim_zeros#
- numpy.trim_zeros(filt, trim='fb', ось=None)[источник]#
Удалить значения вдоль измерения, которые равны нулю вдоль всех других.
- Параметры:
- filtarray_like
Входной массив.
- trim{“fb”, “f”, “b”}, опционально
Строка с 'f', обозначающая обрезку спереди, и 'b' — обрезку сзади. По умолчанию нули обрезаются с обеих сторон. Передняя и задняя части относятся к краям измерения, где «передняя» — сторона с наименьшим индексом 0, а «задняя» — с наибольшим индексом (или индексом -1).
- осьint или sequence, optional
Если None, filt обрезается так, чтобы возвращался наименьший ограничивающий прямоугольник, который всё ещё содержит все ненулевые значения. Если указана ось, filt будет разрезан в этом измерении только на сторонах, указанных trimОставшаяся область будет наименьшей, которая всё ещё содержит все ненулевые значения.
Новое в версии 2.2.0.
- Возвращает:
- обрезанныйndarray или последовательность
Результат обрезки входных данных. Количество измерений и тип входных данных сохраняются.
Примечания
Для полностью нулевых массивов сначала обрезается первая ось.
Примеры
>>> 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]