นุ่น: วิธีเลือกบรรทัดที่ไม่ขึ้นต้นด้วยสตริง


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อเลือกแถวที่ไม่ได้ขึ้นต้นด้วยสตริงเฉพาะใน DataFrame ของ pandas:

 df[~df. my_column . str . startswith ((' this ', ' that '))]

สูตรเฉพาะนี้จะเลือกแถวทั้งหมดใน DataFrame โดยที่คอลัมน์ชื่อ my_column ไม่ได้ขึ้นต้นด้วยสตริง this หรือสตริง ที่

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: เลือกบรรทัดที่ไม่ได้ขึ้นต้นด้วยสตริงในภาษา Pandas

สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งมีข้อมูลการขายสำหรับร้านค้าต่างๆ:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['Upper East', 'Upper West', 'Lower East', 'West', 'CTR'],
                   ' sales ': [150, 224, 250, 198, 177]})

#view DataFrame
print (df)

        blind sales
0 Upper East 150
1 Upper West 224
2 Lower East 250
3 West 198
4 CTR 177     

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อเลือกแถวทั้งหมดใน DataFrame ที่ไม่ได้ขึ้นต้นด้วยสตริง “บน” หรือ “ล่าง” ในคอลัมน์ ร้านค้า :

 #select all rows where store does not start with 'Upper' or 'Lower'
df[~df. blind . str . startswith ((' Upper ',' Lower '))]

	blind sales
3 West 198
4 CTR 177

โปรดทราบว่าแถวเดียวที่ส่งคืนคือแถวที่คอลัมน์ ร้านค้า ไม่ได้ขึ้นต้นด้วย “บน” หรือ “ล่าง”

หากต้องการ คุณยังสามารถกำหนดสตริงทูเพิลภายนอกฟังก์ชัน startupswith() ได้:

 #define tuple of strings
some_strings = (' Upper ', ' Lower ')

#select all rows where store does not start with strings in tuple
df[~df. blind . str . startswith (some_strings)]

	blind sales
3 West 198
4 CTR 177

ซึ่งให้ผลลัพธ์เช่นเดียวกับวิธีก่อนหน้า

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของฟังก์ชัน startwith ใน pandas ได้ที่นี่

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

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

Pandas: วิธีกรองแถวตามความยาวของสตริง
Pandas: วิธีตรวจสอบว่าคอลัมน์มีสตริงหรือไม่
Pandas: วิธีต่อสตริงโดยใช้ GroupBy

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

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