Để xếp một cột nhiều cấp, hãy sử dụng phương thức stack (). Đầu tiên, hãy nhập thư viện được yêu cầu -
import pandas as pd
Tạo cột nhiều cấp -
items = pd.MultiIndex.from_tuples([('Maths', 'Mental Maths'),('Maths', 'Discrete Mathematics'),('Maths', 'Applied Mathematics')])
Bây giờ, hãy tạo DataFrame và đặt các cột nhiều cấp mà chúng tôi đã đặt ở trên -
dataFrame = pd.DataFrame([[67, 86, 78], [56, 92, 97], [92, 95, 91]],index=['John', 'Tom', 'Henry'],columns=items)
Xếp chồng cột nhiều cấp -
dataframe.stack()
Ví dụ
Sau đây là mã hoàn chỉnh -
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() Đầu ra
Điều này sẽ tạo ra kết quả sau -
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