Pandas: วิธีเลือกคอลัมน์ที่มีสตริงเฉพาะ
คุณสามารถใช้วิธีการต่อไปนี้เพื่อเลือกคอลัมน์ที่มีสตริงเฉพาะใน Pandas DataFrame:
วิธีที่ 1: เลือกคอลัมน์ที่มีสตริงเฉพาะ
df. filter (regex=' string1 ')
วิธีที่ 2: เลือกคอลัมน์ที่มีหนึ่งในหลายสตริง
df. filter (regex=' string1|string2|string3 ')
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' mavs ': [10, 12, 14, 15, 19, 22, 27],
' cavs ': [18, 22, 19, 14, 14, 11, 20],
' hornets ': [5, 7, 7, 9, 12, 9, 14],
' spurs ': [10, 12, 14, 13, 13, 19, 22],
' net ': [10, 14, 25, 22, 25, 17, 12]})
#view DataFrame
print (df)
mavs cavs hornets spurs nets
0 10 18 5 10 10
1 12 22 7 12 14
2 14 19 7 14 25
3 15 14 9 13 22
4 19 14 12 13 25
5 22 11 9 19 17
6 27 20 14 22 12
ตัวอย่างที่ 1: เลือกคอลัมน์ที่มีสตริงเฉพาะ
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน filter() เพื่อเลือกเฉพาะคอลัมน์ที่มีสตริง “avs” อยู่ที่ไหนสักแห่งในชื่อ:
#select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs ')
#view DataFrame
print (df2)
mavs cavs
0 10 18
1 12 22
2 14 19
3 15 14
4 19 14
5 22 11
6 27 20
เฉพาะคอลัมน์ที่มี “avs” ในชื่อเท่านั้นที่จะถูกส่งกลับ
ในกรณีนี้ “mavs” และ “cavs” เป็นเพียงคอลัมน์เดียวที่ส่งคืน
ตัวอย่างที่ 2: เลือกคอลัมน์ที่มีหนึ่งในหลายสตริง
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน filter() เพื่อเลือกเฉพาะคอลัมน์ที่มี “avs” หรือ “ets” อยู่ที่ไหนสักแห่งในชื่อ:
#select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs|ets ')
#view DataFrame
print (df2)
mavs cavs hornets nets
0 10 18 5 10
1 12 22 7 14
2 14 19 7 25
3 15 14 9 22
4 19 14 12 25
5 22 11 9 17
6 27 20 14 12
เฉพาะคอลัมน์ที่มี “avs” หรือ “ets” ในชื่อเท่านั้นที่จะถูกส่งกลับ
โปรดทราบว่าแถบแนวตั้ง ( | ) คือตัวดำเนินการ ” OR ” ในหมีแพนด้า
คุณสามารถโยงตัวดำเนินการ “OR” เหล่านี้ได้มากเท่าที่คุณต้องการเพื่อเลือกคอลัมน์ที่มีสตริงต่างๆ กัน
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:
Pandas: วิธีย้ายคอลัมน์หน้า DataFrame
Pandas: วิธีตรวจสอบว่าคอลัมน์มีสตริงหรือไม่
Pandas: วิธีเพิ่มคอลัมน์ว่างลงใน DataFrame (3 ตัวอย่าง)