Pandas分组与分箱

目录

分组

df.groupby分组函数返回分组对象

去除每组第一条或最后一条数据

获取分组后的每组名称

get_group()按组依据获取其中一组

分组聚合

分组后直接聚合

分组后指定单列或多列聚合

分组后使用多个聚合函数

分组后对多列分别使用不同的聚合函数

分组后使用自定义聚合函数

 分箱(数据离散化)


分组

df.groupby分组函数返回分组对象

准备数据

import pandas as pd

# 1.1  df.groupby分组函数返回分组对象
df = pd.read_csv('../data/b_LJdata.csv')
df2 = df.head(20).copy()
df2

1) 基于一列进行分组

gs = df2.groupby(by="区域") # DataFrameGroupBy
print(gs)
print(gs['价格'])

2)  基于多列进行分组

gs = df2.groupby(by=["区域", "户型"])
print(gs)

3)  返回的分组对象可以直接使用,或选择一列做聚合、转换、过滤操作;比如要计算不同区域、不同户型的平均租金

df2.groupby(by=["区域", "户型"])['价格'].mean()

去除每组第一条或最后一条数据

# 分组
gs2 = df2.groupby(by="户型")

# 取出每组第一条数据
gs2.first()

# 取出每组最后一条数据
gs2.last()

获取分组后的每组名称

1)  基于一列分组

# 1.3 获取分组后每组的名称
gs2 = df2.groupby(by="户型")
gs2.grouper.result_index

2)  基于多列分组

gs3 = df2.groupby(by = ["区域","户型"])
print(gs3.grouper.result_index)

get_group()按组依据获取其中一组

gs2.get_group(name='3室1厅')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值