pandas中 透视表与交叉表常用属性

本文介绍如何使用Pandas库中的pivot_table()和crosstab()函数创建透视表和交叉表,详细展示了如何设置索引、列分组、聚合函数及填充缺失值等操作。

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

pandas中透视表与交叉表使用pivot_table()和crosstab()实现

透视表pivot_table()

import pandas as pd
import numpy as np
detail=pd.Dataframe({'order_id':[1,2,3,4,5],
                     'counts':[1,2,1,3,1],
                     'amounts':[35,66,23,12,44],
                     'dishes_name':['铁板牛肉','土豆丝','白饭','辣椒','豆腐']
})
#1.pivot_table:默认聚合方式,自动过滤掉非数值型数据, aggfunc = 'mean',默认返回均值,返回order_id为行索引
detail_pivot=pd.pivot_table(detail[['order_id','counts','dishes_name']],index='order_id')
print(detail_pivot)

#多个index:使用order_id,dishes_name作为行所有索引的透视表
detail_pivot=pd.pivot_table(detail[['order_id','counts','amounts','dishes_name']],index=['order_id','dishes_name'],aggfunc=np.sum)
print(detail_pivot)

#columns 表列分组键:#values显示自己的想要的列,当不存在时显示NAN
detail_pivot=pd.pivot_table(detail[['order_id','counts','amounts','dishes_name']],
                             index=['order_id'],columns='dishes_name',
                            aggfunc=np.sum,values='counts')
print(detail_pivot)
#填充缺失值为0,加一个函数   fill_value=0
#添加汇总开关,   margins = True

交叉表crosstab()

不同:crosstab函数index,columns,values,输入都是从dataframe中直接取值

detail_crosstab = pd.crosstab(
index=detail['order_id'],
columns=detail['dishes_name'],
values=detail['counts'],
aggfunc=np.sum
)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值