Часто при работе с данными в 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, как это было сделано в приведенном выше примере.
Добавить комментарий