Pandas: 특정 값이 포함된 행을 삭제하는 방법


다음 구문을 사용하여 특정 열의 특정 값을 포함하는 Pandas DataFrame의 행을 삭제할 수 있습니다.

 #drop rows that contain specific 'value' in 'column_name'
df = df[df. column_name != value ]

다음 구문을 사용하여 특정 목록의 값을 포함하는 pandas DataFrame의 행을 삭제할 수 있습니다.

 #define values
values = [value1, value2, value3, ...]

#drop rows that contain any value in the list
df = df[df. column_name . isin (values) == False ]

다음 예에서는 이 구문을 실제로 사용하는 방법을 보여줍니다.

예시 1: 특정 값이 포함된 행 삭제

다음 코드는 열의 특정 값을 포함하는 모든 행을 삭제하는 방법을 보여줍니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   ' name ': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
                   ' rebounds ': [11, 7, 14, 7],
                   ' points ': [26, 31, 22, 29]})

#view DataFrame
df

        team name rebound points
0 Mavs Dirk 11 26
1 Lakers Kobe 7 31
2 Spurs Tim 14 22
3 Cavs LeBron 7 29

#drop any rows that have 7 in the rebounds column
df = df[df. rebounds != 7 ]

#view resulting DataFrame
df

        team name rebound points
0 Mavs Dirk 11 26
2 Spurs Tim 14 22

예 2: 목록에서 값을 포함하는 행 제거

다음 코드는 목록의 값을 포함하는 DataFrame에서 모든 행을 제거하는 방법을 보여줍니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   ' name ': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
                   ' rebounds ': [11, 7, 14, 7],
                   ' points ': [26, 31, 22, 29]})

#view DataFrame
df

        team name rebound points
0 Mavs Dirk 11 26
1 Lakers Kobe 7 31
2 Spurs Tim 14 22
3 Cavs LeBron 7 29

#define list of values
values = [7, 11]

#drop any rows that have 7 or 11 in the rebounds column
df = df[df. rebounds . isin (values) == False ]

#view resulting DataFrame
df

        team name rebound points
2 Spurs Tim 14 22

예시 3: 여러 열에 특정 값이 포함된 행 제거

다음 코드는 여러 열 중 하나에 특정 값이 포함된 DataFrame의 행을 제거하는 방법을 보여줍니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
                   ' name ': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
                   ' rebounds ': [11, 7, 14, 7],
                   ' points ': [26, 31, 22, 29]})

#view DataFrame
df

        team name rebound points
0 Mavs Dirk 11 26
1 Lakers Kobe 7 31
2 Spurs Tim 14 22
3 Cavs LeBron 7 29

#drop any rows that have 11 in the rebounds column or 31 in the points column
df = df[(df. rebounds != 11 ) & (df. points != 31 )]

#view resulting DataFrame
df

team name rebound points
2 Spurs Tim 14 22
3 Cavs LeBron 7 29

추가 리소스

Pandas에서 인덱스별로 행을 삭제하는 방법
Pandas에서 인덱스별로 열을 삭제하는 방법
Pandas에서 특정 문자열이 포함된 행을 삭제하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다