วิธีสร้างตัวแปรหมวดหมู่ใน pandas (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อสร้าง ตัวแปรหมวดหมู่ ในแพนด้า:

วิธีที่ 1: สร้างตัวแปรประเภทตั้งแต่เริ่มต้น

 df[' cat_variable '] = [' A ', ' B ', ' C ', ' D ']

วิธีที่ 2: สร้างตัวแปรประเภทจากตัวแปรตัวเลขที่มีอยู่

 df[' cat_variable '] = pd. cut (df[' numeric_variable '],
                            bins=[ 0,15,25 ,float(' Inf ') ] ,
                            labels=[' Bad ', ' OK ', ' Good '])

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

ตัวอย่างที่ 1: สร้างตัวแปรหมวดหมู่ตั้งแต่เริ่มต้น

รหัสต่อไปนี้แสดงวิธีการสร้าง DataFrame แพนด้าด้วยตัวแปรหมวดหมู่ที่เรียกว่า ทีม และตัวแปรตัวเลขที่เรียกว่า จุด :

 import pandas as pd

#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [12, 15, 19, 22, 24, 25, 26, 30]})

#view DataFrame
print (df)

  team points
0 to 12
1 B 15
2 C 19
3 D 22
4 E 24
5 F 25
6 G 26
7:30 a.m.

#view data type of each column in DataFrame
print ( df.dtypes )

team object
int64 dots
dtype:object

การใช้ df.dtypes ทำให้เราสามารถดู ประเภทข้อมูลของตัวแปรแต่ละตัว ใน DataFrame ได้

เราเห็นได้:

  • ตัวแปรทีมเป็น วัตถุ
  • ตัวแปรคะแนนเป็น จำนวนเต็ม

ใน Python วัตถุ จะเทียบเท่ากับอักขระหรือตัวแปร “หมวดหมู่” ดังนั้นตัวแปรทีมจึงเป็นตัวแปรประเภท

ตัวอย่างที่ 2: สร้างตัวแปรประเภทจากตัวแปรตัวเลขที่มีอยู่

รหัสต่อไปนี้แสดงวิธีการสร้างตัวแปรประเภทที่เรียกว่า สถานะ จากตัวแปรตัวเลขที่มีอยู่ซึ่งเรียกว่า จุด ใน DataFrame:

 import pandas as pd

#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [12, 15, 19, 22, 24, 25, 26, 30]})

#create categorical variable 'status' based on existing numerical 'points' variable
df[' status '] = pd. cut (df[' points '],
                      bins=[ 0,15,25 ,float(' Inf ') ] ,
                      labels=[' Bad ', ' OK ', ' Good '])

#view updated DataFrame
print (df)

  team points status
0 To 12 Bad
1 B 15 Bad
2 C 19 OK
3 D 22 OK
4 E 24 OK
5 F 25 OK
6 G 26 Good
7:30 a.m. Good

ด้วยการใช้ฟังก์ชัน cut() เราได้สร้างตัวแปรหมวดหมู่ใหม่ที่เรียกว่า สถานะ ซึ่งรับค่าต่อไปนี้:

  • ไม่ดี ‘ หากค่าในคอลัมน์คะแนนน้อยกว่าหรือเท่ากับ 15
  • มิฉะนั้น ‘ ตกลง ‘ หากค่าในคอลัมน์คะแนนน้อยกว่าหรือเท่ากับ 25
  • มิฉะนั้น ” ดี

โปรดทราบว่าเมื่อใช้ ฟังก์ชัน cut() จำนวน ป้าย กำกับ จะต้องน้อยกว่าจำนวน bins หนึ่งอัน

ในตัวอย่างของเรา เราใช้ค่าสี่ค่าสำหรับ กล่อง เพื่อกำหนดขอบของกล่อง และค่าสามค่าสำหรับ ป้ายกำกับ เพื่อระบุป้ายกำกับที่จะใช้สำหรับตัวแปรหมวดหมู่

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

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

วิธีสร้างตัวแปรจำลองใน Pandas
วิธีแปลงตัวแปรหมวดหมู่เป็นตัวเลขใน Pandas
วิธีแปลงค่าบูลีนเป็นค่าจำนวนเต็มใน Pandas

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

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