Python学习笔记: Pandas pivot_table 範例说明

本文同步发表于小弟自架网站:微确幸资讯站

import pandas as pdimport numpy as np# Create multi-index for year, semester, academic, and genderyear = [109, 110]semester = [1, 2]academic = ['硕士班', '大学部']gender = ['男', '女']index = pd.MultiIndex.from_product([year, semester, academic, gender],                           names=['学年', '学期', '学制', '性别'])# Create DataFrame with random values and multi-indexdf = pd.DataFrame(np.random.randint(300,size=(len(year)*len(semester)*len(academic)*len(gender)                                              ,1)),index=index,columns=["学生人数"])df

http://img2.58codes.com/2024/201223352OrE6v0qN8.jpg

第一个範例

将性别的变数向右延展成为宽表格:

df1 = pd.pivot_table(df, values=['学生人数'], columns=['性别'], index=['学年', '学期', '学制']).reset_index()df1

http://img2.58codes.com/2024/20122335e0quHclysS.jpg

先看一下栏位名称是MultiIndex:

df1.columns

http://img2.58codes.com/2024/20122335lgcQe76wM1.jpg

将MultiIndex栏名结合成字串后做为新栏名

df1.columns = [''.join(tup) for tup in df1.columns]df1

http://img2.58codes.com/2024/20122335ClNEYiVVCa.jpg

第二个範例

将学制、性别的变数向右延展成为宽表格:

df2 = pd.pivot_table(df, values=['学生人数'], columns=[ '学制', '性别'], index=['学年', '学期']).reset_index()df2

http://img2.58codes.com/2024/20122335DqkPpEXTbU.jpg

先看一下栏位名称是三层的MultiIndex:

df2.columns

http://img2.58codes.com/2024/20122335E6QEakMI1f.jpg

一样将MultiIndex栏名结合成字串后做为新栏名

df2.columns = [''.join(tup) for tup in df2.columns]df2

http://img2.58codes.com/2024/20122335i6id38Qq1E.jpg


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章