วิธีการเขียนคำชี้แจงกรณีในแพนด้า (พร้อมตัวอย่าง)


คำสั่ง case คือประเภทของคำสั่งที่วนไปตามเงื่อนไขและส่งกลับค่าเมื่อตรงตามเงื่อนไขแรก

วิธีที่ง่ายที่สุดในการใช้คำสั่ง case ใน Pandas DataFrame คือการใช้ฟังก์ชัน NumPywhere() ซึ่งใช้ไวยากรณ์พื้นฐานต่อไปนี้:

 df[' new_column '] = np. where (df[' col2 ']<9, 'value1',
                   n.p. where (df[' col2 ']<12, 'value2',
                   n.p. where (df[' col2 ']<15, 'value3', 'value4')))

ฟังก์ชันเฉพาะนี้จะดูค่าในคอลัมน์ที่เรียกว่า col2 แล้วส่งคืน:

  • value1 ” ถ้าค่าใน col2 น้อยกว่า 9
  • value2 ” ถ้าค่าใน col2 น้อยกว่า 12
  • value3 ” ถ้าค่าใน col2 น้อยกว่า 15
  • value4 ” หากไม่มีเงื่อนไขก่อนหน้านี้เป็นจริง

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

ตัวอย่าง: คำสั่ง case ใน Pandas

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' player ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' points ': [6, 8, 9, 9, 12, 14, 15, 17, 19, 22]})

#view DataFrame
df

	player points
0 1 6
1 2 8
2 3 9
3 4 9
4 5 12
5 6 14
6 7 15
7 8 17
8 9 19
9 10 22

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อเขียนคำสั่ง case ที่สร้างคอลัมน์ใหม่ที่เรียกว่า class ซึ่งค่าจะถูกกำหนดโดยค่าในคอลัมน์ point :

 #add 'class' column using case-statement logic
df[' class '] = np. where (df[' points ']<9, 'Bad',
              n.p. where (df[' points ']<12, 'OK',
              n.p. where (df[' points ']<15, 'Good', 'Great')))

#view updated DataFrame
df

	player points class
0 1 6 Bad
1 2 8 Bad
2 3 9 OK
3 4 9 OK
4 5 12 Good
5 6 14 Good
6 7 15 Great
7 8 17 Great
8 9 19 Great
9 10 22 Great

คำสั่ง case ดูค่าในคอลัมน์ point แล้วส่งคืน:

  • แย่ ” หากค่าในคอลัมน์คะแนนน้อยกว่า 9
  • ตกลง ” หากค่าในคอลัมน์คะแนนน้อยกว่า 12
  • ดี ” หากค่าในคอลัมน์คะแนนน้อยกว่า 15
  • ดีมาก ” หากไม่มีเงื่อนไขก่อนหน้านี้เป็นจริง

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน NumPywhere() ได้ที่นี่

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

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

วิธีสร้างคอลัมน์ใหม่ตามเงื่อนไขใน Pandas
วิธีใช้ฟังก์ชัน NumPy Where() กับหลายเงื่อนไข

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

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