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 ในหลายเงื่อนไข

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

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