Pandas: จะกรองรายการ "ไม่มี" ได้อย่างไร


คุณสามารถใช้วิธีการต่อไปนี้เพื่อดำเนินการกรอง “ไม่มี” ใน DataFrame แพนด้า:

วิธีที่ 1: กรองแถวที่ไม่มีสตริงเฉพาะ

 filtered_df = df[df[' my_column ']. str . contains (' some_string ') == False ]

วิธีที่ 2: กรองแถวที่ไม่มีสตริงเฉพาะหลายสตริง

 filtered_df = df[df[' my_column ']. str . contains (' string1|string2|string3 ') == False ]

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Nets', 'Rockets', 'Mavs', 'Spurs', 'Kings', 'Nuggets'],
                   ' points ': [18, 22, 19, 14, 14, 11],
                   ' assists ': [5, 7, 7, 9, 12, 9],
                   ' rebounds ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
print (df)

      team points assists rebounds
0 Nets 18 5 11
1 Rockets 22 7 8
2 Mavs 19 7 10
3 Spurs 14 9 6
4 Kings 14 12 6
5 Nuggets 11 9 5

ตัวอย่างที่ 1: กรองแถวที่ไม่มีสตริงเฉพาะ

รหัสต่อไปนี้แสดงวิธีการกรอง DataFrame ของ pandas สำหรับแถวที่คอลัมน์ ทีม ไม่มี “ets” ในชื่อ:

 #filter for rows that do not contain 'ets' in the 'team' column
filtered_df = df[df[' team ']. str . contains (' ets ') == False ]

#view filtered DataFrame
print (filtered_df)

    team points assists rebounds
2 Mavs 19 7 10
3 Spurs 14 9 6
4 Kings 14 12 6

โปรดทราบว่า DataFrame ที่เป็นผลลัพธ์ไม่มีแถวใดๆ ที่มีค่าในคอลัมน์ ทีม มี “ets” อยู่ในชื่อ

โดยเฉพาะอย่างยิ่ง ทีมต่อไปนี้ถูกแยกออกจาก DataFrame:

  • อวน
  • จรวด
  • นักเก็ต

โปรดทราบว่าชื่อทีมแต่ละชื่อมี “ets” อยู่ในชื่อ

ตัวอย่างที่ 2: กรองแถวที่ไม่มีสตริงเฉพาะอย่างใดอย่างหนึ่ง

รหัสต่อไปนี้แสดงวิธีการกรอง DataFrame ของ pandas สำหรับแถวที่คอลัมน์ ทีม ไม่มี “ets” ในชื่อ:

 #filter for rows that do not contain 'ets' or 'urs' in the 'team' column
filtered_df = df[df[' team ']. str . contains (' ets|urs ') == False ]

#view filtered DataFrame
print (filtered_df)

    team points assists rebounds
2 Mavs 19 7 10
4 Kings 14 12 6

โปรดทราบว่า DataFrame ที่เป็นผลลัพธ์ไม่มีแถวที่มีค่าในคอลัมน์ ทีม ที่มี “ets” หรือ “urs” อยู่ในชื่อ

หมายเหตุ : | ตัวดำเนินการหมายถึง “OR” ในหมีแพนด้า

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการกรองทั่วไปอื่น ๆ ในแพนด้า:

วิธีกรอง Pandas DataFrame ตามค่าคอลัมน์
วิธีกรองแถว Pandas DataFrame ตามวันที่
วิธีกรอง Pandas DataFrame ในหลายเงื่อนไข

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *