Pandas: วิธีปรับรูปร่าง dataframe จากยาวไปเป็นกว้าง


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อแปลง DataFrame ของ pandas จากรูปแบบยาวไปเป็นรูปแบบกว้าง:

 df = pd. pivot (df, index=' col1 ', columns=' col2 ', values=' col3 ')

ในสถานการณ์นี้ col1 จะกลายเป็นดัชนี col2 จะกลายเป็นคอลัมน์ และ col3 จะถูกใช้เป็นค่าภายใน DataFrame

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

ตัวอย่าง: ปรับรูปร่าง Pandas DataFrame จากยาวเป็นกว้าง

สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ในรูปแบบยาว:

 import pandas as pd

#create DataFrame in long format
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' player ': [1, 2, 3, 4, 1, 2, 3, 4],
                   ' points ': [11, 8, 10, 6, 12, 5, 9, 4]})

#view DataFrame
df

	team player points
0 to 1 11
1 to 2 8
2 to 3 10
3 to 4 6
4 B 1 12
5 B 2 5
6 B 3 9
7 B 4 4

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อปรับรูปร่าง DataFrame นี้จากรูปแบบยาวเป็นรูปแบบกว้าง:

 #reshape DataFrame from long format to wide format
df = pd. pivot (df, index=' team ', columns=' player ', values=' points ')

#view updated DataFrame
df

player 1 2 3 4
team				
A 11 8 10 6
B 12 5 9 4

DataFrame อยู่ในรูปแบบกว้างแล้ว

เราใช้ “ทีม” เป็นคอลัมน์ดัชนี “ผู้เล่น” เป็นคอลัมน์และ “คะแนน” เป็นค่าภายใน DataFrame

โปรดทราบว่าเราสามารถใช้ “ผู้เล่น” เป็นคอลัมน์ดัชนีและใช้ “ทีม” เป็นคอลัมน์แทนได้หากเราต้องการ:

 #reshape DataFrame from long format to wide format
df = pd. pivot (df, index=' player ', columns=' team ', values=' points ')

#view updated DataFrame
df

team A B
player		
1 11 12
2 8 5
3 10 9
4 6 4

DataFrame นี้อยู่ในรูปแบบกว้างเช่นกัน

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

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

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

Pandas: วิธีปรับรูปร่าง DataFrame จากกว้างไปเป็นยาว
วิธีเพิ่มแถวใน Pandas DataFrame
วิธีเพิ่มคอลัมน์ใน Pandas DataFrame
วิธีนับการเกิดขึ้นของค่าเฉพาะใน Pandas DataFrame

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

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