Pandas: วิธีสร้างคอลัมน์บูลีนตามเงื่อนไข
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อสร้างคอลัมน์บูลีนตามเงื่อนไขใน DataFrame ของแพนด้า:
df[' boolean_column '] = np. where (df[' some_column '] > 15, True , False )
ไวยากรณ์เฉพาะนี้จะสร้างคอลัมน์บูลีนใหม่ที่มีค่าที่เป็นไปได้สองค่า:
- เป็นจริง หากค่าใน some_column มากกว่า 15
- เท็จ หากค่าใน some_column น้อยกว่าหรือเท่ากับ 15
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: สร้างคอลัมน์บูลีนตามเงื่อนไขในนุ่น
สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [5, 17, 7, 19, 12, 13, 9, 24]}) #view DataFrame print (df) team points 0 to 5 1 to 17 2 to 7 3 to 19 4 B 12 5 B 13 6 B 9 7 B 24
เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างคอลัมน์ใหม่ชื่อ good_player ซึ่งจะคืน ค่า True หากค่าในคอลัมน์ point มากกว่า 15 หรือ False มิฉะนั้น:
import numpy as np
#create new boolean column based on value in points column
df[' good_player '] = np. where (df[' points '] > 15, True , False )
#view updated DataFrame
print (df)
team points good_player
0 To 5 False
1 To 17 True
2 To 7 False
3 To 19 True
4 B 12 False
5 B 13 False
6 B 9 False
7 B 24 True
โปรดทราบว่าคอลัมน์ใหม่ชื่อ good_player มีเพียงสองค่าเท่านั้น: True หรือ False
เราสามารถใช้ฟังก์ชัน dtypes() เพื่อตรวจสอบว่าคอลัมน์ good_player ใหม่เป็นคอลัมน์ Boolean จริงๆ:
#display data type of good_player column
df[' good_player ']. dtype
dtype('bool')
คอลัมน์ good_player ใหม่นั้นเป็นคอลัมน์บูลีนจริงๆ
โปรดทราบว่าคุณสามารถคืนค่าตัวเลขเช่น 1 และ 0 แทน True และ False ได้หากต้องการ:
import numpy as np
#create new boolean column based on value in points column
df[' good_player '] = np. where (df[' points '] > 15, 1 , 0 )
#view updated DataFrame
print (df)
team points good_player
0 to 5 0
1 To 17 1
2 to 7 0
3 A 19 1
4 B 12 0
5 B 13 0
6 B 9 0
7 B 24 1
ขณะนี้คอลัมน์ good_player มี 1 หากค่าที่สอดคล้องกันในคอลัมน์ คะแนน มากกว่า 15
มิฉะนั้นจะมีค่า 0
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:
วิธีเลือกแถวตามเงื่อนไขต่างๆ ใน Pandas
วิธีสร้างคอลัมน์ใหม่ตามเงื่อนไขใน Pandas
วิธีกรอง Pandas DataFrame ในหลายเงื่อนไข