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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *