pandas.DataFrame.drop
- DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')[source]
-
Удаление указанных меток из строк или столбцов.
Удаление строк или столбцов, указанием имён меток и соответствующей оси, или непосредственно указанием индексов или имён столбцов. При использовании многоуровневого индекса, метки на разных уровнях можно удалить, указав уровень. Подробнее об уровне, который теперь не используется, смотрите в руководстве пользователя.
- Параметры:
-
- labels:одна метка или список
-
Индексы или метки столбцов для удаления. Кортеж будет использован как одна метка и не будет рассматриваться как список.
- axis:{0 или ‘index’, 1 или ‘columns’}, по умолчанию 0
-
Удалять метки из индекса (0 или ‘index’) или столбцов (1 или ‘columns’).
- index:одна метка или список
-
Альтернатива указанию оси (
labels, axis=0эквивалентноindex=labels). - columns:одна метка или список
-
Альтернатива указанию оси (
labels, axis=1эквивалентноcolumns=labels). - level:целое число или имя уровня, необязательно
-
Для MultiIndex, уровень, из которого будут удалены метки.
- inplace:bool, по умолчанию False
-
Если False, возвращает копию. В противном случае, выполняет операцию на месте и возвращает None.
- errors:{‘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
Удаление столбцов и/или строк DataFrame с MultiIndex
>>> 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Удаление конкретной комбинации индекса из DataFrame с MultiIndex, т.е. удаление комбинации
'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
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.DataFrame.drop.html