Как подсчитать NaN-вступления в столбце в Pandas Dataframe

  1. метод isna() для подсчета NaN в одной или нескольких колонках
  2. Вычитаем общую длину из счета NaN для подсчета NaN вхождений
  3. метод df.isnull().sum() для подсчета NaN вхождений
  4. Посчитайте NaN происшествия во всем Pandas DataFrame

Мы познакомим вас с методами подсчета NaN вхождений в колонку в Pandas dataframe. У нас есть много вариантов, в том числе метод isna() для одной или нескольких колонок, путем вычитания общей длины из числа NaN вхождений, с помощью метода value_counts и с помощью метода df.isnull().sum().

Также мы введем метод для вычисления общего числа NaN вхождений во всем Pandas DataFrame.

метод isna() для подсчета NaN в одной или нескольких колонках

Мы можем использовать метод insna() (pandas versions > 0.21.0), а затем суммировать для подсчета NaN вхождений. Для одного столбца мы сделаем следующее:

import pandas as pd
s = pd.Series([
      1,2,3, np.nan, np.nan])
s.isna().sum()   
# or s.isnull().sum() for older pandas versions

Вывод:

2

Для нескольких столбцов это также работает:

import pandas as pd
df = pd.DataFrame({
    'a':[1,2,np.nan], 
    'b':[np.nan,1,np.nan]})
df.isna().sum()

Вывод:

a    1
b    2
dtype: int64

Вычитаем общую длину из счета NaN для подсчета NaN вхождений

Мы можем получить количество NaN вхождений в каждом столбце, вычитая количество non-Nan вхождений из длины DataFrame:

import pandas as pd
df = pd.DataFrame([
    (1,2,None),
    (None,4,None),
    (5,None,7),
    (5,None,None)], 
    columns=['a','b','d'], 
    index = ['A', 'B','C','D'])
print(df)
print(len(df)-df.count())

Вывод:

     a    b    d
A  1.0  2.0  NaN
B  NaN  4.0  NaN
C  5.0  NaN  7.0
D  5.0  NaN  NaN
a    1
b    2
d    3
dtype: int64

метод df.isnull().sum() для подсчета NaN вхождений

Получить количество NaN вхождений в каждую колонку можно с помощью метода df.isnull().sum(). Если мы передали axis = 0 в методе sum, то получим количество NaN вхождений в каждом столбце. Если нам нужны NaN вхождения в каждой строке, то установим axis=1.

Рассмотрим следующий код :

import pandas as pd

df = pd.DataFrame(
    [(1,2,None),
    (None,4,None),
    (5,None,7),
    (5,None,None)],
    columns=['a','b','d'],
    index = ['A', 'B','C','D'])

print('NaN occurrences in Columns:')
print(df.isnull().sum(axis = 0))
print('NaN occurrences in Rows:')
print(df.isnull().sum(axis = 1))

Вывод:

NaN occurrences in Columns:
a    1
b    2
d    3
dtype: int64
NaN occurrences in Rows:
A    1
B    2
C    1
D    2
dtype: int64

Посчитайте NaN происшествия во всем Pandas DataFrame

Чтобы получить общее количество всех случаев Nan в DataFrame, мы связываем два метода .sum() вместе:

import pandas as pd

df = pd.DataFrame(
    [(1,2,None),
    (None,4,None),
    (5,None,7),
    (5,None,None)],
    columns=['a','b','d'],
    index = ['A', 'B','C','D'])

print('NaN occurrences in DataFrame:')
print(df.isnull().sum().sum())

Вывод:

NaN occurrences in DataFrame:
6

Сопутствующая статья - Pandas DataFrame

  • Как получить заголовки столбцов Pandas DataFrame в виде списка
  • Как удалить колонку Pandas DataFrame
  • Как преобразовать столбец DataFrame в дату в Pandas
  • Как преобразовать плавающий диск в целое число в Pandas DataFrame
  • Как сортировать панды DataFrame по значениям одной колонки
  • Как получить совокупность Pandas по группам и Сумма
  • Как преобразовать словарь Python в Pandas DataFrame
  • Как добавить строку заголовка к Pandas DataFrame
  • Как преобразовать Pandas Dataframe в Numpy массив
  • Как преобразовать индекс Pandas Dataframe в столбец
  • Как изменить порядок столбцов DataFrame
  • comments powered by Disqus