pandas pivot 占比_数据处理进阶pandas入门(十八)

本文详细介绍了pandas中的pivot_table()和crosstab()方法,讲解了如何生成数据透视表和交叉表,包括如何处理缺失值、设置默认填充值、计算占比以及添加行列边距。同时对比了两者在生成透视表时的异同,帮助读者更好地理解和应用这两种数据处理方法。
摘要由CSDN通过智能技术生成

回顾

在数据处理进阶pandas入门(十七)中,我们介绍了pandas中对groupby()方法的分组数据处理的两个方法:transform()和apply()。我们需要掌握好这两个方法,对分组数据进行灵活处理。今天我们讲一下pandas中生成数据透视表和交叉表的方法。

生成透视表方法pivot_table()

数据透视表就是将数据的每一列作为输入,输出将数据不断细分成多个维度累计信息的二维数据表。简单来说,数据透视表更像是一种多维的groupb累计操作。pandas中使用pivot_table()方法来生成透视表,基本用法如下。​

import numpy as npimport pandas as pddate_range = pd.to_datetime(['2019-5-29', '2019-5-30', '2019-5-31']*3)df = pd.DataFrame({'date':date_range, 'key': list('abcdabcdb'), 'values':np.random.rand(9)*10})print(df)print("---------------")print(pd.pivot_table(df, values='values', index='date', columns='key', aggfunc=np.sum))

pivot_table()方法接收一个DataFrame对象 ,values表示要聚合的列;index表示从原数据中筛选出列作为数据透视表中的index索引;columns表示从原数据中筛选出列作为数据透视表中的columns索引;aggfunc表示用于聚合的函数(支持Numpy计算函数),默认为np.mean,可以用字符串或“np.”两种形式表示。运行结果如下图所示。

ec623f33ff35e7eb75526dda2e63503c.png

pivot_table()方法基本用法

上述代码生成的数据透视表中有缺失值, pivot_table()方法对缺失值的处理默认以NaN填充。如果我们不想使用NaN&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值