หากต้องการสแต็กคอลัมน์หลายระดับ ให้ใช้เมธอด stack() ขั้นแรก นำเข้าไลบรารีที่จำเป็น -
import pandas as pd
สร้างคอลัมน์หลายระดับ -
items = pd.MultiIndex.from_tuples([('Maths', 'Mental Maths'),('Maths', 'Discrete Mathematics'),('Maths', 'Applied Mathematics')])
ตอนนี้ สร้าง DataFrame และตั้งค่าคอลัมน์หลายระดับที่เราตั้งค่าไว้ด้านบน -
dataFrame = pd.DataFrame([[67, 86, 78], [56, 92, 97], [92, 95, 91]],index=['John', 'Tom', 'Henry'],columns=items)
ซ้อนคอลัมน์หลายระดับ -
dataframe.stack()
ตัวอย่าง
ต่อไปนี้เป็นรหัสที่สมบูรณ์ -
import pandas as pd
# multi-level columns
items = pd.MultiIndex.from_tuples([('Maths', 'Mental Maths'),('Maths', 'Discrete Mathematics'),
('Maths', 'Applied Mathematics')])
# creating a DataFrame
dataFrame = pd.DataFrame([[67, 86, 78], [56, 92, 97], [92, 95, 91]],index=['John', 'Tom', 'Henry'],columns=items)
# DataFrame
print"DataFrame...\n",dataFrame
# stack multi-level columns
print"\nStacking...\n",dataFrame.stack() ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
DataFrame...
Maths
Mental Maths Discrete Mathematics Applied Mathematics
John 67 86 78
Tom 56 92 97
Henry 92 95 91
Stacking...
Maths
John Applied Mathematics 78
Discrete Mathematics 86
Mental Maths 67
Tom Applied Mathematics 97
Discrete Mathematics 92
Mental Maths 56
Henry Applied Mathematics 91
Discrete Mathematics 95
Mental Maths 92