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