Pandas: วิธีลบแถวที่มีค่าเฉพาะ
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อลบแถวใน DataFrame แพนด้าที่มีค่าเฉพาะในบางคอลัมน์:
#drop rows that contain specific 'value' in 'column_name' df = df[df. column_name != value ]
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อลบแถวใน DataFrame ของ pandas ที่มีค่าใดๆ ในรายการบางรายการ:
#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