python实现Excel中透视表的功能

pandas 实现Excel透视表功能

pivot_table透视表

pivot_table(df,index,columns,values,aggfunc=‘mean’,fill_value=None,margins=False,dropna=True,margins_name=‘All’)

  1. index 行 columns 列 aggfunc values 值 aggfunc(计算值的公式 sum min 等)
  2. fill_value Na值默认None,可自定义
  3. margins 合计值,默认名称为all 可自定义
  4. margins_name 自定义合计的名称
  5. 可以对透视表进行美化reset_index 可以将数据还原回数据框 (函数左右 df.reset_index()重置索引)

例:

在pandas中,可以使用pivot_table函数来实现excel透视表的功能。

首先,导入pandas库:

 import pandas as pd 

然后,创建一个DataFrame对象,作为数据源:

data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
        'Gender': ['Female', 'Male', 'Male', 'Male', 'Female'],
        'Age': [25, 30, 35, 40, 45],
        'City': ['Beijing', 'Shanghai', 'Beijing', 'Shanghai', 'Beijing'],
        'Salary': [5000, 6000, 7000, 8000, 9000]}
df = pd.DataFrame(data)

在这里插入图片描述

接下来,使用pivot_table函数进行透视操作:
结算每个城市不同性别的平均收入

pivot_table = df.pivot_table(index='City', columns='Gender', values='Salary', aggfunc='mean')

在这里插入图片描述

可以使用reset_index进行美化:

pivot_table = df.pivot_table(index='City', columns='Gender', values='Salary', aggfunc='mean').reset_index()

在这里插入图片描述

fill_value和margins的使用:
fill_value=0,nan值变成0,汇总margins=1打开,定义名称为平均

pivot_table = df.pivot_table(index='City', columns='Gender', values='Salary', aggfunc='mean',fill_value=0,margins=1,margins_name='平均').reset_index()

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值