Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Часто при работе с данными в Python и библиотеке Pandas возникает необходимость удалить определенные строки из DataFrame на основе значения в определенном столбце. Например, предположим, что у нас есть следующий DataFrame:
import pandas as pd data = { 'A': ['foo', 'bar', 'baz', 'qux', 'quux'], 'B': [1, 0, 2, 0, 3] } df = pd.DataFrame(data) print(df)
A B
0 foo 1
1 bar 0
2 baz 2
3 qux 0
4 quux 3
Теперь предположим, что нам нужно удалить все строки, где значение в столбце ‘B’ равно 0.
Самый простой и эффективный способ сделать это — использовать метод DataFrame.loc[]
, который позволяет нам получить доступ к группе строк и столбцов по метке(ам). В нашем случае, мы хотим получить все строки, где значение в столбце ‘B’ не равно 0. Это можно сделать следующим образом:
df = df.loc[df['B'] != 0] print(df)
A B
0 foo 1
2 baz 2
4 quux 3
Как видите, строки, где значение в столбце ‘B’ было равно 0, успешно удалены из DataFrame.
Важно отметить, что Pandas не изменяет исходный DataFrame «на месте». Вместо этого он возвращает новый DataFrame с удаленными строками. Если вы хотите изменить исходный DataFrame, вы должны присвоить результат обратно исходному DataFrame, как это было сделано в приведенном выше примере.
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Добавить комментарий