Как использовать «не равно нулю»? в пандах (с примерами)


Вы можете использовать функцию 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 по нескольким условиям

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *