Python数据分类汇总与统计

笔记

目录

前言

 一、Groupby分类统计

1.按列分组

2.遍历各分组

 二、数据聚合

1.  groupby的聚合函数

2. 逐列及多函数应用

3. 返回不含行索引的聚合数据 

三、Apply函数

1.计算平均值

2.计算总和 

3.计算平方根 

4.用于填充缺失值

四、数据透视表与交叉表

1. 数据透视表

2 .交叉表

五、数据采样


前言

掌握python的groupby分类统计函数
掌握python数据聚合方法
掌握python的Apply函数用法
掌握python数据透视表与交叉表
掌握python数据采样方法 


 一、Groupby分类统计

1.按列分组

        按列分组分为以下三种模式

第一种: df.groupby(col),返回一个按列进行分组的groupby对象第

二种:df.groupby([col1,col2]),返回一个按多列进行分组的groupby对象;

第三种: df.groupby(col1)[col2] 或者 df[col2].groupby(col1),两者含义相同,返回按列col1进行分组后col2的值;

#数据集为第十一届泰迪杯b题数据
import pandas as pd
database=pd.read_csv('../data/order_train2.csv')#导入数据
#第一
a=database.groupby('sales_region_code')

#第二
b=database.groupby(['sales_region_code','second_cate_code'])

#第三
c=database.groupby('sales_region_code')['ord_qty']

        groupby对象不能直接打印输出,可以调用list函数显示分组,还可以对这个对象进行各种计算 

2.遍历各分组

        对于多重键的情况,元组的第一个元素将会是由键值组成的元组

for i in :
	print(i)

        当然,你可以对这些数据片段做任何操作。有一个你可能会觉得有用的运算将这些数据片段做成一个字典

pieces = dict(list(a))
print(pieces)
pieces['101']

        groupby默认是在axis=0上进行分组的,通过设置也可以在其他任何轴上进行分组。拿上面例子中的database来说,我们可以根据dtype对列进行分组

grouped=database.groupby(database.dtypes, axis=1)

        可以如下打印分组

for i,j in grouped:
    print(i)
    print(j)

 二、数据聚合

        聚合指的是任何能够从数组产生标量值的数据转换过程,下表是经过优化的groupby方法:

函数名

说明

count

分组中非NA值的数量

sum

非NA值的和

mean

非NA值的平均值

median

非NA值的算数中位数

std、var

无偏标准差和方差

min、max

非NA值的最小值和最大值

prod

非NA值的积

first、last

第一个和最后一个非NA值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值