นุ่น: วิธีเลือกบรรทัดที่ไม่ขึ้นต้นด้วยสตริง
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อเลือกแถวที่ไม่ได้ขึ้นต้นด้วยสตริงเฉพาะใน 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