Pandas Dataframe 의 열에서 NaN 발생 횟수를 계산하는 방법

  1. 하나 또는 여러 열에서 NaN 을 계산하는 isna()메서드
  2. NaN 발생 횟수에서 NaN개수에서 총 길이를 빼서
  3. NaN 발생을 계산하는 df.isnull().sum()메소드
  4. 전체 Pandas DataFrame에서 NaN 발생 횟수

Pandas dataframe 의 열에서 NaN 발생 횟수를 계산하는 방법을 소개합니다. 여기에는 하나 또는 여러 열에 대한 isna()메소드를 포함하여 NaN발생 횟수에서 총 길이를 빼고 value_counts 메소드를 사용하고 df.isnull()을 사용하여 여러 가지 옵션이 있습니다.

또한 전체 Pandas dataframe 에서 NaN 발생 수를 계산하는 방법도 소개합니다.

하나 또는 여러 열에서 NaN 을 계산하는 isna()메서드

insna()메소드 (Pandas 버전> 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개수에서 총 길이를 빼서

우리는 dataframe 의 길이에서 non-Nan 발생 횟수를 빼서 각 열에서 NaN발생 횟수를 얻을 수 있습니다.

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

NaN 발생을 계산하는 df.isnull().sum()메소드

df.isnull().sum() 메소드를 사용하여 각 열에서 NaN 발생 수를 얻을 수 있습니다. sum 메소드 내에서 axis = 0 을 전달하면 모든 열에서 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

전체 Pandas DataFrame에서 NaN 발생 횟수

dataframe 에서 모든 Nan 어커런스의 총 수를 얻기 위해 두 개의.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 열을 문자열로 변환하는 방법