pandas.DataFrame.drop#
- DataFrame.drop(метки=None, *, ось=0, index=None, столбцы=None, уровень=None, inplace=False, ошибки='raise')[источник]#
Удаляет указанные метки из строк или столбцов.
Удаление строк или столбцов путем указания имен меток и соответствующей оси или путем прямого указания имен индекса или столбцов. При использовании мультииндекса метки на разных уровнях могут быть удалены путем указания уровня. См. руководство пользователя для получения дополнительной информации о теперь неиспользуемых уровнях.
- Параметры:
- меткиодиночная метка или список
Метки индекса или столбцов для удаления. Кортеж будет использоваться как единая метка и не обрабатываться как список.
- ось{0 или 'index', 1 или 'columns'}, по умолчанию 0
Удалять ли метки из индекса (0 или 'index') или столбцов (1 или 'columns').
- indexодиночная метка или список
Альтернатива указанию оси (
labels, axis=0эквивалентноindex=labels).- столбцыодиночная метка или список
Альтернатива указанию оси (
labels, axis=1эквивалентноcolumns=labels).- уровеньint или имя уровня, опционально
Для MultiIndex, уровень, с которого будут удалены метки.
- inplacebool, по умолчанию False
Если False, вернуть копию. В противном случае, выполнить операцию на месте и вернуть None.
- ошибки{‘ignore’, ‘raise’}, по умолчанию ‘raise’
Если 'ignore', подавлять ошибку и удалять только существующие метки.
- Возвращает:
- DataFrame или None
Возвращает DataFrame или None DataFrame с указанными метками индекса или столбцов удалёнными, или None, если inplace=True.
- Вызывает:
- KeyError
Если какой-либо из меток не найден в выбранной оси.
Смотрите также
DataFrame.locИндексатор на основе меток для выбора по метке.
DataFrame.dropnaВозвращает DataFrame с пропущенными метками на указанной оси, где (все или любые) данные отсутствуют.
DataFrame.drop_duplicatesВозвращает DataFrame с удаленными дублирующимися строками, опционально учитывая только определенные столбцы.
Series.dropВозвращает Series с удаленными указанными метками индекса.
Примеры
>>> df = pd.DataFrame(np.arange(12).reshape(3, 4), ... columns=['A', 'B', 'C', 'D']) >>> df A B C D 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11
Удалить столбцы
>>> df.drop(['B', 'C'], axis=1) A D 0 0 3 1 4 7 2 8 11
>>> df.drop(columns=['B', 'C']) A D 0 0 3 1 4 7 2 8 11
Удалить строку по индексу
>>> df.drop([0, 1]) A B C D 2 8 9 10 11
Удаление столбцов и/или строк MultiIndex DataFrame
>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'], ... ['speed', 'weight', 'length']], ... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2], ... [0, 1, 2, 0, 1, 2, 0, 1, 2]]) >>> df = pd.DataFrame(index=midx, columns=['big', 'small'], ... data=[[45, 30], [200, 100], [1.5, 1], [30, 20], ... [250, 150], [1.5, 0.8], [320, 250], ... [1, 0.8], [0.3, 0.2]]) >>> df big small llama speed 45.0 30.0 weight 200.0 100.0 length 1.5 1.0 cow speed 30.0 20.0 weight 250.0 150.0 length 1.5 0.8 falcon speed 320.0 250.0 weight 1.0 0.8 length 0.3 0.2
Удалить конкретную комбинацию индексов из MultiIndex DataFrame, т.е. удалить комбинацию
'falcon'и'weight', который удаляет только соответствующую строку>>> df.drop(index=('falcon', 'weight')) big small llama speed 45.0 30.0 weight 200.0 100.0 length 1.5 1.0 cow speed 30.0 20.0 weight 250.0 150.0 length 1.5 0.8 falcon speed 320.0 250.0 length 0.3 0.2
>>> df.drop(index='cow', columns='small') big llama speed 45.0 weight 200.0 length 1.5 falcon speed 320.0 weight 1.0 length 0.3
>>> df.drop(index='length', level=1) big small llama speed 45.0 30.0 weight 200.0 100.0 cow speed 30.0 20.0 weight 250.0 150.0 falcon speed 320.0 250.0 weight 1.0 0.8