添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

从 DataFrame 创建 GroupBy 对象,我们就了一个原材料,这个原材料我们可以灵活地根据我们的需求进行分析处理。

有了 GroupBy 对象,可能希望对每个列进行不同的操作,使用类似于 [] 从 DataFrame 获取列:

grouped = df.groupby(['team'])
grouped_C = grouped['C']
grouped_D = grouped['D']

也可以先选择列,再进行分组,返回一个序列分组对象:

df['Q1'].groupby(df['team'])
# SeriesGroupBy
df.groupby('team').groups # 显示所有分组
grouped.get_group('A') # 选择指定分组
# 多层索引的选择
grouped2 = df.groupby(['team', 'Q1'])
grouped2.get_group(('A', 57))

以下将迭代出分组名和分组内容:

for name, group in grouped:
    print(name)
    print(group)

分组后会按分组字段进行排序(见上例索引示例),如果不想这样排序可以sort=False则会按内容首次出现的顺序显示:

df.groupby('team', sort=False, as_index=False).sum()
  team    Q1    Q2    Q3    Q4
0    E   963  1013   881  1033
1    C  1056  1194  1068  1127
2    A  1066   639   875   783
3    D   860  1191  1241  1199
4    B   975  1218  1202  1136
# 以下部分需要聚合统计方法才能显示结果
# 选择列 返回一个SeriesGroupBy
df.groupby('team')['Q1']
df.groupby('team').all()
df.groupby('team').any()
grouped.backfill()
grouped.bfill()
df.groupby('team').head() # 每组显示前5个
grouped.tail(1) # 每组最后一个
grouped.rank() # 排序值
grouped.fillna(0)
grouped.indices # 字典 {分组名 -> 索引}.
# 分组中的第几个值,分组子集查询
gp.nth(1) # 第一个
gp.nth(-1) # 最后一个
gp.nth([-2, -1])
# 第 n 个非空项
gp.nth(0, dropna='all')
gp.nth(0, dropna='any')
# 可使用切片 1.4+ 版本
gp.nth[1:-1] # 选择指定行
gp.nth[1, -1] # 指定行列索引
gp.nth[:1, -1:] # 开区间
gp.nth(slice(1, -1)) # 内置函数写法
gp.nth([slice(None, 1), slice(-1, None)])
df.groupby('team').shift(-1) # 组内移动
grouped.tshift(1) # 按时间周期移动
df.groupby('team').any()
df.groupby('team').all()
df.groupby('team').rank() # 在组内的排名
# 仅 SeriesGroupBy 可用
# 每组最大的两个
df.groupby("team").Q1.nlargest(2)
df.groupby("team").Q1.nsmallest(2)
df.groupby("team").Q1.nunique() # 每组去重数量
df.groupby("team").Q1.unique() #  每组去重值
df.groupby("team").Q1.value_counts() #  每组去重值及数量
df.groupby("team").Q1.is_monotonic_increasing # 每组值是否单调递增
df.groupby("team").Q1.is_monotonic_decreasing # 每组值是否单调递减
# 仅 DataFrameGroupBy 可用
df.groupby("team").corrwith(df2) # 相关性
gp.plot() # 各组的折线图
gp.plot.bar() #
df.groupby('team').hist() # 直方图
df.groupby('team').boxplot() # 箱线图
df.boxplot(by="team") # 同上

unstack

  • pandas 筛选出同组的相反数 2021-04-24 23:08:44
  • pandas 连续登录留存数据分析 2021-04-06 17:38:44
  • pandas 筛选每次成绩都达到指定深度的潜水员 2021-02-22 18:43:09 入门 pandas
  • pandas 中文简介
  • 安装及环境搭建
  • 安装 pandas
  • 快速入门
  • 数据结构
  • NumPy 基础用法
  • 生成数据对象
  • 序列 Series
  • 数据框 DataFrame
  • 数据类型 dtypes
  • pandas 功能介绍
  • 文件读取和导出 有更新
  • 索引 Indexing 有更新
  • 数据的信息 有更新
  • 数学统计
  • 求值计算 有更新
  • 查询筛选数据 有更新
  • 数据类型转换 有更新
  • 数据排序 有更新
  • 数据添加修改
  • 删除数据
  • 数据迭代
  • 函数应用
  • 多层索引 MultiIndex
  • 多层次索引 MultiIndex
  • 创建分层索引对象
  • 多层索引对象的操作
  • 多层索引数据查询
  • 多层索引的分组
  • 数据合并场景和操作 有更新
  • 数据连接 concat
  • 多文件数据合并
  • 数据追加 df.append
  • 连接数据 pd.merge 有更新
  • 时序数据合并
  • 逐元素合并
  • 数据对比
  • 数据清洗操作
  • 缺失值的判定
  • 缺失值参与计算
  • 缺失值填充
  • 缺失值删除
  • 插值填充
  • 数据替换
  • 缺失值 NA 标量
  • 重复值
  • pandas 的聚合分组
  • Group By 基础使用
  • 分组对象及创建
  • 分组聚合统计
  • 分组应用函数
  • 分组对象的操作
  • 分组器 Grouper 有更新
  • 数据分箱
  • 数据重塑透视
  • pandas 重塑透视 有更新
  • 数据透视 Pivot Table 有更新
  • 数据堆叠 Stack 有更新
  • 交叉表 Crosstab
  • 数据融合 Melt 有更新
  • 虚拟变量/哑变量
  • 数据转置 df.T
  • 因子化(枚举化)值
  • 爆炸序列 有更新
  • 转为 NumPy ndarray
  • pandas 时间日期
  • 时间基本概念
  • 时间序列数据类型
  • 固定时间
  • 时间的属性操作
  • 时间类型转换
  • 时间范围
  • 时间序列索引
  • 时序数据方法
  • 时间偏移
  • 时间偏移对象
  • 序列、索引和时间偏移
  • 自定义工作日
  • 时间偏移量别名
  • 锚定偏移
  • 假期日历
  • 时间增量/时长
  • 时长频率单位转换
  • 时长的属性
  • 时长索引
  • 时间跨度
  • 周期的操作
  • 周期类型及转换
  • 周期索引
  • 超出时间戳范围时间
  • 时间重采样 有更新
  • 时间类型之间的转换
  • 时区
  • 区间间隔 Interval
  • pandas 文本处理
  • 文本数据类型
  • 字符的操作方法
  • 文本分割
  • 文本替换
  • 文本连接
  • 文本查询匹配
  • 文本常用方法
  • pandas 样式
  • 内置样式
  • 显示格式
  • 样式配置操作
  • 样式应用函数
  • 带样式文件的导出
  • pandas 可视化
  • Plot 绘图
  • Plotting 绘图模块
  • 使用 Bokeh 可视化
  • matplotlib pyplot 绘图功能
  • 使用 Plotly 可视化
  • Pyecharts 可视化绘图库
  • pandas 分类数据
  • 分类数据创建
  • 分类数据的使用
  • 分类数据的顺序
  • 分类数据的操作
  • 分类数据处理
  • 类别数据的读取
  • pandas 窗口计算
  • 移动窗口函数 rolling
  • 时间类型移动窗口
  • 扩展窗口函数 expanding
  • 函数 api
  • pandas.read_csv
  • pandas.read_excel
  • 方法函数详细介绍
  • 相关配置
  • 异常和警告
  • 函数 api 大全
  • 生成测试数据
  • 超大数据处理 有更新
  • 链式方法
  • pandas 应用案例 有更新
  • pandas 练习题 有更新
  • pandas 速查手册
  • pandas 简明课程
  • 教程更新日志
  •