Computer >> Máy Tính >  >> Lập trình >> Python

Python - Xếp chồng cột nhiều cấp trong Pandas DataFrame

Để 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