Pandas DataFrame DataFrame.dropna() 함수

Minahil Noor 2023년1월30일
  1. pandas.DataFrame.dropna()구문
  2. 예제 코드: DataFrame.dropna()에서 드롭 행으로
  3. 예제 코드: DataFrame.dropna()를 드롭 기둥으로
  4. 예제 코드: how = all을 사용하는DataFrame.dropna()
  5. 예제 코드: 지정된 하위 집합 또는 임계 값이있는DataFrame.dropna()
  6. 예제 코드: inplace = True가있는DataFrame.dropna()
Pandas DataFrame DataFrame.dropna() 함수

pandas.DataFrame.dropna() 함수는 null 값 (누락 된 값)을 null 값을 포함하는 행 또는 열을 삭제하여DataFrame.

NaN(Not a Number) 및 NaT(Not a Time)은 null 값을 나타냅니다. DataFrame.dropna()는 이러한 값을 감지하고 그에 따라DataFrame을 필터링합니다.

pandas.DataFrame.dropna()구문

DataFrame.dropna(axis, how, thresh, subset, inplace)

매개 변수

axis 축을 행 또는 열로 결정합니다.
0 또는'index'이면 누락 된 값이 포함 된 행을 삭제합니다.
1 또는'columns'이면 누락 된 값이 포함 된 열을 삭제합니다. 기본적으로 값은 0입니다.
how 이 매개 변수는 함수가 행 또는 열을 삭제하는 방법을 결정합니다. any 또는all 두 개의string 만 허용합니다. 기본적으로 any로 설정되어 있습니다.
any는 null 값이있는 경우 행 또는 열을 삭제합니다.
all은 모든 값이 누락 된 경우 행 또는 열을 삭제합니다.
thresh 행이나 열이 삭제되는 것을 방지하는 최소 비결 측 값 수를 지정하는 정수입니다.
subset 삭제 절차를 지정하는 행 또는 열의 이름이있는 배열입니다.
inplace True로 설정하면 호출자 DataFrame을 변경하는 부울 값입니다. 기본적으로 값은 False입니다.

반환

전달 된 매개 변수에 따라 삭제 된 행 또는 열이있는 필터링 된 DataFrame을 반환합니다.

예제 코드: DataFrame.dropna()에서 드롭 행으로

기본적으로 축은 0, 즉 행이므로 모든 출력에 행이 삭제됩니다.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: None, 2: 80,3: None, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: None, 1: 75, 2: 82, 3: 64, 4: None}})
print(dataframe)

DataFrame의 예는 다음과 같습니다.

   Attendance    Name  Obtained Marks
0        60.0  Olivia             NaN
1         NaN    John            75.0
2        80.0   Laura            82.0
3         NaN     Ben            64.0
4        95.0   Kevin             NaN

이 함수의 모든 매개 변수는 선택 사항입니다. 매개 변수를 전달하지 않으면 함수는 단일 null 값을 포함하는 모든 행을 삭제합니다.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)
dataframe1 = dataframe.dropna()
print(dataframe1)

출력:

   Attendance   Name  Obtained Marks
2        80.0  Laura            82.0

하나의 누락 된 값이 포함 된 모든 행을 삭제했습니다.

예제 코드: DataFrame.dropna()를 드롭 기둥으로

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)
dataframe1 = dataframe.dropna(axis=1)

print(dataframe1)

출력:

     Name
0  Olivia
1    John
2   Laura
3     Ben
4   Kevin

우리는DataFrame.dropna()메소드에서axis=1을 설정했기 때문에 하나의 누락 된 값을 포함하는 모든 열을 삭제했습니다.

예제 코드: how = all을 사용하는DataFrame.dropna()

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)

dataframe1 = dataframe.dropna(axis=1, how="all")
print(dataframe1)

출력:

   Attendance    Name  Obtained Marks
0        60.0  Olivia             NaN
1         NaN    John            75.0
2        80.0   Laura            82.0
3         NaN     Ben            64.0
4        95.0   Kevin             NaN

how매개 변수의 값이 all로 설정되어 있으므로 누락 된 값이 포함 된 행은 삭제되지 않습니다. 이는 행의 모든 ​​값이 null이어야 함을 의미합니다.

지정된 축에서 모든 값이 누락 된 경우howall로 설정되어 있어도DataFrame.dropna()메서드는 해당 축을 삭제합니다.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: None, 2: None, 3: None, 4: None},
    }
)

print(dataframe)
print("--------")
dataframe1 = dataframe.dropna(axis=1, how="all")
print(dataframe1)

출력:

   Attendance    Name Obtained Marks
0        60.0  Olivia           None
1         NaN    John           None
2        80.0   Laura           None
3         NaN     Ben           None
4        95.0   Kevin           None
--------
   Attendance    Name
0        60.0  Olivia
1         NaN    John
2        80.0   Laura
3         NaN     Ben
4        95.0   Kevin

예제 코드: 지정된 하위 집합 또는 임계 값이있는DataFrame.dropna()

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)

dataframe1 = dataframe.dropna(thresh=3)
print(dataframe1)

출력:

   Attendance   Name  Obtained Marks
2        80.0  Laura            82.0

thresh의 값은 3이며 이는 삭제를 방지하기 위해 3 개 이상의 비어 있지 않은 값이 필요함을 의미합니다.

subset을 지정할 수도 있습니다.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)

dataframe1 = dataframe.dropna(subset=["Attendance", "Name"])
print(dataframe1)

출력:

   Attendance    Name  Obtained Marks
0        60.0  Olivia             NaN
2        80.0   Laura            82.0
4        95.0   Kevin             NaN

AttendanceName열을 기준으로 누락 된 값이있는 행을 삭제합니다. 다른 열의 값인 Obtained Marks에만 누락 된 값이있는 경우 행을 삭제하지 않습니다.

예제 코드: inplace = True가있는DataFrame.dropna()

DataFrame.dropna()inplaceTrue로 설정된 경우 호출자DataFrame을 제자리에서 변경합니다.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)
dataframe1 = dataframe.dropna(inplace=True)
print(dataframe1)

출력:

None

매개 변수가 호출자DataFrame을 제자리에서 수정하고None을 반환했습니다.

관련 문장 - Pandas DataFrame