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()

示例

以下为完整代码 −

Open Compiler
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

更新于:22-9 月-2021

2 千 + 浏览

助力您的 职业

完成课程获得认证

开始学习
广告