Python – Pandas DataFrame中的多级列堆叠

Python – Pandas DataFrame中的多级列堆叠

要堆叠多级列,请使用stack()方法。首先导入所需的库-

import pandas as pd

创建一个多级列-

items = pd.MultiIndex.from_tuples([('数学', '心算'),('数学', '离散数学'),('数学', '应用数学')])

现在,创建一个DataFrame并设置我们上面设置的多级列-

dataFrame = pd.DataFrame([[67, 86, 78], [56, 92, 97], [92, 95, 91]],index=['约翰', '汤姆', '亨利'],columns=items)

堆叠多级列-

dataframe.stack()

例子

下面是完整的代码-

import pandas as pd

# 多级列
items = pd.MultiIndex.from_tuples([('数学', '心算'),('数学', '离散数学'),
('数学', '应用数学')])

# 创建DataFrame
dataFrame = pd.DataFrame([[67, 86, 78], [56, 92, 97], [92, 95, 91]],index=['约翰', '汤姆', '亨利'],columns=items)

# DataFrame
print "DataFrame...\n",dataFrame

# 堆叠多级列
print "\n堆叠中...\n",dataFrame.stack()

输出

这将产生以下输出-

DataFrame...
           数学
      心算      离散数学      应用数学
约翰           67                      86                    78
汤姆           56                      92                    97
亨利           92                      95                    91

堆叠中...
                        数学
约翰   应用数学          78
      离散数学          86
      心算              67
汤姆   应用数学          97
      离散数学          92
      心算              56
亨利  应用数学           91
     离散数学           95
     心算               92

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程