Как использовать «не равно нулю»? в пандах (с примерами)
Вы можете использовать функцию pandas notnull() , чтобы проверить, имеют ли элементы pandas DataFrame значение null или нет.
Если элемент равен NaN или None, функция вернет False .
В противном случае функция вернет True .
Вот несколько распространенных способов использования этой функции на практике:
Способ 1: фильтрация строк без нулевых значений в любом столбце
df[df. notnull (). all ( 1 )]
Способ 2: фильтровать строки без нулевых значений в определенном столбце
df[df[[' this_column ']]. notnull (). all ( 1 )]
Способ 3: подсчитайте количество ненулевых значений в каждом столбце
df. notnull (). sum ()
Способ 4: подсчитать количество ненулевых значений во всем DataFrame
df. notnull (). sum (). sum ()
В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, np.nan], ' assists ': [5, np.nan, 7, 9, 12, 9, 9, np.nan], ' rebounds ': [11, 8, 10, 6, 6, 5, np.nan, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18.0 5.0 11.0 1 B 22.0 NaN 8.0 2 C 19.0 7.0 10.0 3D 14.0 9.0 6.0 4 E 14.0 12.0 6.0 5 F 11.0 9.0 5.0 6G 20.0 9.0 NaN 7 H NaN NaN 12.0
Пример 1. Фильтрация строк без нулевых значений в любом столбце
Следующий код показывает, как фильтровать DataFrame для отображения только строк без нулевых значений в любом столбце:
#filter for rows with no null values in any column
df[df. notnull (). all ( 1 )]
team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 7.0 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
Обратите внимание, что каждая из строк в этом отфильтрованном DataFrame не имеет нулевых значений ни в одном столбце.
Пример 2. Фильтрация строк без нулевых значений в определенном столбце
Следующий код показывает, как фильтровать DataFrame для отображения только строк без нулевых значений во вспомогательном столбце:
#filter for rows with no null values in the 'assists' column
df[df[[' assists ']]. notnull (). all ( 1 )]
team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 7.0 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 NaN
Обратите внимание, что каждая из строк в этом отфильтрованном DataFrame не имеет нулевых значений в столбце Helper .
Пример 3: Подсчитайте количество ненулевых значений в каждом столбце
Следующий код показывает, как подсчитать количество ненулевых значений в каждом столбце DataFrame:
#count number of non-null values in each column
df. notnull (). sum ()
team 8
points 7
assists 6
rebounds 7
dtype: int64
По результату мы видим:
- Столбец команды имеет 8 ненулевых значений.
- Столбец точек имеет 7 ненулевых значений.
- Столбец передач имеет 6 ненулевых значений.
- Столбец отказов имеет 7 ненулевых значений.
Пример 4. Подсчитайте количество ненулевых значений во всем DataFrame
Следующий код показывает, как подсчитать количество ненулевых значений во всем DataFrame:
#count number of non-null values in entire DataFrame
df. notnull (). sum (). sum ()
28
Из вывода мы видим, что во всем DataFrame имеется 28 ненулевых значений.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции фильтрации в pandas:
Как фильтровать DataFrame Pandas по значениям столбца
Как отфильтровать «Не содержит» в Pandas
Как фильтровать DataFrame Pandas по нескольким условиям