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

Asad Riaz 2023년1월30일
  1. 하나 또는 여러 열에서 NaN 을 계산하는 isna()메서드
  2. NaN 발생 횟수에서 NaN개수에서 총 길이를 빼서
  3. NaN 발생을 계산하는 df.isnull().sum()메소드
  4. 전체 Pandas DataFrame에서 NaN 발생 횟수
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