Pandas实现excel的透视表

本文详细介绍了如何使用pandas的pivot_table函数,包括参数解读、实例演示(如按年龄和姓名计数并填充缺失值),旨在帮助读者掌握数据透视操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.获取帮助信息 

import pandas as pd

df_1 = pd.read_excel('stu.xls')
help(df_1.pivot_table)

2.函数 

 pivot_table(values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False, sort=True)

3.参数

index : 原表的表头名称。解释:透视表的第一列(透视表每一行的表头)
columns :原表的表头名称。解释:透视表的第一行(透视表每一列的表头)
values:原表的表头名称。解释:透视表内容,以哪列的数据为准。
aggfunc : 聚合函数,默认为平均值
            np.sum() //求和;
            np.prod() //所有元素相乘;
            np.mean() //平均值;
            np.std() //标准差;
            np.var() //方差;
            np.median() //中数;
            np.power() //幂运算;
            np.sqrt() //开方;
            np.min() //最小值;
            np.max() //最大值;
            np.argmin() //最小值的下标;
            np.argmax() //最大值的下标;
            np.inf //无穷大;
            np.exp(10) //以e为底的指数;
            np.log(10) //对数

fill_value : 空缺数据,设置填充内容

margins : 是否添加行列的总计
dropna : 默认为True,如果列的所有值都是NaN,将不作为计算列,False时,被保留

margins_name : 汇总行列的名称,默认为All

observed : 是否显示观测值

sort : 结果是否排序

4.案例

 

import pandas as pd
import numpy as np

df_1 = pd.read_excel('stu.xls')

#aggfunc='count' 计数
df_1_r = pd.pivot_table(df_1, index='年龄', columns='姓名', values='分数', aggfunc='count', margins=True,
                           margins_name='总计', fill_value=0)
df_1_r.to_excel('1.xlsx')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值