分组函数:groupby
需要在分组的时候对相关字段进行计算(常用的计算方法包括 sum、max、min、 mean、std)
例:汇总看每个级别流量所对应的总访客数和支付金额

由于没有指定求和的列,所以是对所有数值型字段进行了求和
例:只想要各级别流量下的访客数和支付金额,
需要指明参数:
![“ 。 by(' 量 缰 别 , )[ , 访 客 , , 支 付 金 ].s “ 0
一 级
二 级
访 客 数
106415
4
55146
支 付
7B4346 噁 7
5 羽 042 . 22
62g923 , 62 “ 。 by(' 量 缰 别 , )[ , 访 客 , , 支 付 金 ].s “ 0
一 级
二 级
访 客 数
106415
4
55146
支 付
7B4346 噁 7
5 羽 042 . 22
62g923 , 62](https://file.cfanz.cn/uploads/png/2023/10/18/9/45ALJL6e7J.png)
流量级别作为汇总的依据列,默认转化为索引列,
如果我们不希望它变成索引,向 groupby 内传入参数 as_index = False 即可:
![df.groupby('HÉh%1J , ,as—index
= F 就 1 “ ) 〔 , 访 客 。 , , 支 付 金 谓 ].s “ 0
0
2
流 趿 刳
一 级
二
访 数
1 《 415
48139
弱 1
支 付 金
7 3 噁 7
5B0042 . 22
620022 . 62 df.groupby('HÉh%1J , ,as—index
= F 就 1 “ ) 〔 , 访 客 。 , , 支 付 金 谓 ].s “ 0
0
2
流 趿 刳
一 级
二
访 数
1 《 415
48139
弱 1
支 付 金
7 3 噁 7
5B0042 . 22
620022 . 62](https://file.cfanz.cn/uploads/png/2023/10/18/9/8BVJBUYaUb.png)
切分函数:cut 常用于一维数组的分类和打标
![pd. cut ( 孙 bins, right , labels)
1. 第 一 个 磐 罡 我 们 要 传 入 和 切 分 的 一 维 数 组 , 可 以 罡 歹 榱 , 也 可 以 æoataFrarne 的 一 列
2 . bins 表 示 切 分 的 方 式 , 可 以 自 窜 义 侤 入 列 表 [ a , b , 小 表 示 按 照 a . b , b . c 响 区 间 来 讲 行 切 分
也 可 以 入 数 值 〈 例 如 5 后 直 接 指 定 分 成 5 组
3 , right 晌 值 可 以 设 为 True 或 者 Fa , 当 为 True 时 , 表 示 分 组 区 间 罡 包 吉 右 边 , 不 包 含 左
边 ; 等 于 “ 代 表 区 间 吉 左 不 吉 右
4 山 卜 贝 歷 打 标 数 , 我 们 把 某 列 数 据 切 分 成 3 组 , 每 一 组 我 们 可 以 它 设 置 一 个 对
应 的 标 签 , 如 [ 低 , 中 、 窩 ] 。 pd. cut ( 孙 bins, right , labels)
1. 第 一 个 磐 罡 我 们 要 传 入 和 切 分 的 一 维 数 组 , 可 以 罡 歹 榱 , 也 可 以 æoataFrarne 的 一 列
2 . bins 表 示 切 分 的 方 式 , 可 以 自 窜 义 侤 入 列 表 [ a , b , 小 表 示 按 照 a . b , b . c 响 区 间 来 讲 行 切 分
也 可 以 入 数 值 〈 例 如 5 后 直 接 指 定 分 成 5 组
3 , right 晌 值 可 以 设 为 True 或 者 Fa , 当 为 True 时 , 表 示 分 组 区 间 罡 包 吉 右 边 , 不 包 含 左
边 ; 等 于 “ 代 表 区 间 吉 左 不 吉 右
4 山 卜 贝 歷 打 标 数 , 我 们 把 某 列 数 据 切 分 成 3 组 , 每 一 组 我 们 可 以 它 设 置 一 个 对
应 的 标 签 , 如 [ 低 , 中 、 窩 ] 。](https://file.cfanz.cn/uploads/png/2023/10/18/9/ZfWZb82YYZ.png)
例:对各渠道访客级别进 行评估,按照访客数大小,分成辣鸡(流量 100 以内的)、百级、千级和万级的渠道
![Pd. Cut (x = df , bins = [O, 100, ICO), 10000, IOTĂ] )
o
4
6
o
o
4
(10000,
(10000,
(10000,
(1000,
(1000,
(1000,
(1000,
(10000,
(10000,
(1000,
(10000,
(1000,
100000]
100000]
100000]
10000]
10000]
10000]
10000]
100000]
100000]
10000]
100000]
10000]
(100, 1000]
(o, 100]
(o, 100]
Nane: dtype: category
Categoîies (4, interval [int64]) .
< (100,
< (1000,
10000] < (ICO)O,
100ôooj j Pd. Cut (x = df , bins = [O, 100, ICO), 10000, IOTĂ] )
o
4
6
o
o
4
(10000,
(10000,
(10000,
(1000,
(1000,
(1000,
(1000,
(10000,
(10000,
(1000,
(10000,
(1000,
100000]
100000]
100000]
10000]
10000]
10000]
10000]
100000]
100000]
10000]
100000]
10000]
(100, 1000]
(o, 100]
(o, 100]
Nane: dtype: category
Categoîies (4, interval [int64]) .
< (100,
< (1000,
10000] < (ICO)O,
100ôooj j](https://file.cfanz.cn/uploads/png/2023/10/18/9/87P24Fe3cX.png)
在不设置 right 的情况下,分组区间是默认左开右闭的,而 我们希望的是左闭右开,
即百级流量渠道访客数在 0-99 之间,所以需要将 right 值设置为 False。
![= pd. cut(x
ght
df
= df[' $-E*' = [O, 100, 1000, 10000, 100000],
= False, labeis = , ] )
0
2
3
4
5
6
2
2
3
44300
30612
18389
4509
3769
2424
2412
29111
17165
8870
45059
2133
31
0.1178
0.1385
0.0250
0.1073
0.0573
0.2207
00821
o. ICE
0.2271
00078
o. 1366
0.1083
o.oen
0,0000
0.0000
58.79
86.64
0.28
64.12
92.91
89.33
56.04
87.40
91.22
44.52
90_11
74.48
NaN
NaN
30688783
367338.10
129.58
3103514
20068 _ 20
4779160
11096.42
271189.23
355662.39
3072_oo
55456122
17204.50
8270."
NaN
NaN = pd. cut(x
ght
df
= df[' $-E*' = [O, 100, 1000, 10000, 100000],
= False, labeis = , ] )
0
2
3
4
5
6
2
2
3
44300
30612
18389
4509
3769
2424
2412
29111
17165
8870
45059
2133
31
0.1178
0.1385
0.0250
0.1073
0.0573
0.2207
00821
o. ICE
0.2271
00078
o. 1366
0.1083
o.oen
0,0000
0.0000
58.79
86.64
0.28
64.12
92.91
89.33
56.04
87.40
91.22
44.52
90_11
74.48
NaN
NaN
30688783
367338.10
129.58
3103514
20068 _ 20
4779160
11096.42
271189.23
355662.39
3072_oo
55456122
17204.50
8270."
NaN
NaN](https://file.cfanz.cn/uploads/png/2023/10/18/9/33M2Ad187R.png)










