วิธีการใช้วิธีการมอบหมาย () ใน pandas (พร้อมตัวอย่าง)
สามารถใช้เมธอด assign() เพื่อเพิ่มคอลัมน์ใหม่ให้กับ Pandas DataFrame
วิธีนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
df. assign (new_column = values)
สิ่งสำคัญคือต้องทราบว่าวิธีนี้จะแสดงเฉพาะ DataFrame ใหม่บนคอนโซล แต่จะไม่แก้ไข DataFrame ดั้งเดิมจริงๆ
หากต้องการแก้ไข DataFrame ดั้งเดิม คุณจะต้องจัดเก็บผลลัพธ์ของเมธอด assign() ไว้ในตัวแปรใหม่
ตัวอย่างต่อไปนี้แสดงวิธีการใช้เมธอด assign() ในรูปแบบต่างๆ กับ Pandas DataFrame ต่อไปนี้:
import pandas as pd #define DataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
ตัวอย่างที่ 1: กำหนดตัวแปรใหม่ให้กับ DataFrame
โค้ดต่อไปนี้แสดงวิธีการใช้เมธอด assign() เพื่อเพิ่มตัวแปรใหม่ให้กับ DataFrame ที่เรียกว่า point2 ซึ่งค่าจะเท่ากับค่าในคอลัมน์ point คูณด้วยสอง:
#add new variable called points2
df. assign (points2 = df.points * 2 )
points assists rebounds points2
0 25 5 11 50
1 12 7 8 24
2 15 7 10 30
3 14 9 6 28
4 19 12 6 38
5 23 9 5 46
6 25 9 9 50
7 29 4 12 58
โปรดทราบว่าวิธี การมอบหมาย () นี้ไม่ได้แก้ไข DataFrame ดั้งเดิม
ถ้าเราพิมพ์ DataFrame ดั้งเดิม เราจะเห็นว่ามันยังคงไม่เปลี่ยนแปลง:
#print original DataFrame print (df) points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
เพื่อบันทึกผลลัพธ์ของวิธี การ มอบหมาย() เราสามารถจัดเก็บผลลัพธ์ไว้ใน DataFrame ใหม่:
#add new variable called points2 and save results in new DataFrame
df. assign (points2 = df.points * 2 )
#view new DataFrame
print (df_new)
points assists rebounds points2
0 25 5 11 50
1 12 7 8 24
2 15 7 10 30
3 14 9 6 28
4 19 12 6 38
5 23 9 5 46
6 25 9 9 50
7 29 4 12 58
DataFrame ใหม่ที่เรียกว่า df_new ขณะนี้มีคอลัมน์ point2 ที่เราสร้างขึ้น
ตัวอย่างที่ 2: กำหนดตัวแปรใหม่หลายตัวให้กับ DataFrame
รหัสต่อไปนี้แสดงวิธีการใช้ มอบหมาย() วิธีการเพิ่มตัวแปรใหม่สามตัวใน DataFrame:
#add three new variables to DataFrame and store results in new DataFrame df_new = df. assign (points2 = df. points * 2 , assists_rebs = df. assists + df. rebounds , conference = ' Western ') #view new DataFrame print (df_new) points assists rebounds points2 assists_rebs conference 0 25 5 11 50 16 Western 1 12 7 8 24 15 Western 2 15 7 10 30 17 Western 3 14 9 6 28 15 Western 4 19 12 6 38 18 Western 5 23 9 5 46 14 Western 6 25 9 9 50 18 Western 7 29 4 12 58 16 Western
โปรดทราบว่ามีการเพิ่มคอลัมน์ใหม่สามคอลัมน์ใน DataFrame
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของวิธี pandas assign() ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่น ๆ ในแพนด้า:
วิธีใช้ฟังก์ชันอธิบาย() ใน Pandas
วิธีใช้ฟังก์ชัน idxmax() ใน Pandas
วิธีใช้ฟังก์ชันกับคอลัมน์ที่เลือกใน Pandas