Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python - Pandas DataFrame에 다단계 열 쌓기

<시간/>

다단계 열을 쌓으려면 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