目录
分组
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厅')