Pandas: วิธีใช้ like ในแบบสอบถาม ()


คุณสามารถใช้วิธีต่อไปนี้เพื่อใช้ LIKE (คล้ายกับ SQL) ในฟังก์ชัน pandas query() เพื่อค้นหาแถวที่มีรูปแบบเฉพาะ:

วิธีที่ 1: ค้นหาแถวที่มีรูปแบบ

 df. query (' my_column.str.contains("pattern1") ')

วิธีที่ 2: ค้นหาแถวที่มีหนึ่งในหลายรูปแบบ

 df. query (' my_column.str.contains("pattern1|pattern2") ')

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Cavs', 'Heat', 'Mavs', 'Mavs', 'Nets',
                            'Heat', 'Cavs', 'Jazz', 'Jazz', 'Hawks'],
                   ' points ': [3, 3, 4, 5, 4, 7, 8, 7, 12, 14],
                   ' rebounds ': [15, 14, 14, 10, 8, 14, 13, 9, 5, 4]})

#view DataFrame
print (df)

    team points rebounds
0 Cavs 3 15
1 Heat 3 14
2 Mavs 4 14
3 Mavs 5 10
4 Nets 4 8
5 Heat 7 14
6 Cavs 8 13
7 Jazz 7 9
8 Jazz 12 5
9 Hawks 14 4

ตัวอย่างที่ 1: ค้นหาแถวที่มีรูปแบบ

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน query() เพื่อค้นหาแถวทั้งหมดใน DataFrame ที่มี “avs” ในคอลัมน์ ทีม :

 df. query (' team.str.contains("avs") ')

        team points rebounds
0 Cavs 3 15
2 Mavs 4 14
3 Mavs 5 10
6 Cavs 8 13

แต่ละแถวที่ส่งคืนจะมี “avs” อยู่ที่ไหนสักแห่งในคอลัมน์ ทีม

โปรดทราบว่าไวยากรณ์นี้คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

ดังนั้น หากเราใช้ “AVS” แทน เราจะไม่ได้รับผลลัพธ์ใดๆ เนื่องจากไม่มีแถวที่มี “AVS” ตัวพิมพ์ใหญ่ในคอลัมน์ ทีม

ตัวอย่างที่ 2: ค้นหาแถวที่มีหนึ่งในหลายรูปแบบ

รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน query() เพื่อค้นหาแถวทั้งหมดใน DataFrame ที่มี “avs” หรือ “eat” ในคอลัมน์ ทีม :

 df. query (' team.str.contains("avs|eat") ')

        team points rebounds
0 Cavs 3 15
1 Heat 3 14
2 Mavs 4 14
3 Mavs 5 10
5 Heat 7 14
6 Cavs 8 13

แต่ละแถวที่ส่งคืนจะมี “avs” หรือ “eat” อยู่ที่ไหนสักแห่งในคอลัมน์ ทีม

หมายเหตุ : | โอเปอเรเตอร์หมายถึง “หรือ” ในภาษาหมีแพนด้า คุณสามารถใช้ได้มากเท่าที่คุณต้องการเพื่อค้นหาการออกแบบช่องเพิ่มเติม

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

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

Pandas: วิธีกรองแถวตามความยาวของสตริง
Pandas: วิธีลบแถวตามเงื่อนไข
นุ่น: วิธีใช้ตัวกรอง “NO IN”

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

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