หากต้องการสแต็กคอลัมน์หลายระดับ ให้ใช้เมธอด 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