import pandas as pd
d = np.array([[81, 28, 24, 25, 96],
[ 8, 35, 56, 98, 39],
[13, 39, 55, 36, 3],
[70, 54, 69, 48, 12],
[63, 80, 97, 25, 70]])
df = pd.DataFrame(data = d,
columns=list('abcde'))
df
a | b | c | d | e | |
---|---|---|---|---|---|
0 | 81 | 28 | 24 | 25 | 96 |
1 | 8 | 35 | 56 | 98 | 39 |
2 | 13 | 39 | 55 | 36 | 3 |
3 | 70 | 54 | 69 | 48 | 12 |
4 | 63 | 80 | 97 | 25 | 70 |
聚合计算是指对数据进行汇总和统计的操作。常用的聚合计算方法包括计算均值、求和、最大值、最小值、计数等。
df['a'].mean()
47.0
df['a'].sum()
235
df['a'].max()
81
df['a'].min()
8
df['a'].count()
5
df['a'].median() # 中位数
63.0
df['a'].var() #方差
1154.5
df['a'].skew() # 偏度
-0.45733193928530436
df['a'].kurt() # 峰度
-2.9999915595685325
df['a'].cumsum() # 累计求和
0 81
1 89
2 102
3 172
4 235
Name: a, dtype: int64
df['a'].cumprod() # 累计求积
0 81
1 648
2 8424
3 589680
4 37149840
Name: a, dtype: int64
df['a'].diff() # 差分
0 NaN
1 -73.0
2 5.0
3 57.0
4 -7.0
Name: a, dtype: float64
df['a'].mad() # 平均绝对偏差
29.2
df.sum(axis=0) # 按列求和汇总到最后一行
a 235
b 236
c 301
d 232
e 220
dtype: int64
df.sum(axis=1) # 按行求和汇总到最后一列
0 254
1 236
2 146
3 253
4 335
dtype: int64
df.describe() # 描述性统计
a | b | c | d | e | |
---|---|---|---|---|---|
count | 5.000000 | 5.000000 | 5.000000 | 5.000000 | 5.000000 |
mean | 47.000000 | 47.200000 | 60.200000 | 46.400000 | 44.000000 |
std | 33.977934 | 20.656718 | 26.395075 | 30.369392 | 39.083244 |
min | 8.000000 | 28.000000 | 24.000000 | 25.000000 | 3.000000 |
25% | 13.000000 | 35.000000 | 55.000000 | 25.000000 | 12.000000 |
50% | 63.000000 | 39.000000 | 56.000000 | 36.000000 | 39.000000 |
75% | 70.000000 | 54.000000 | 69.000000 | 48.000000 | 70.000000 |
max | 81.000000 | 80.000000 | 97.000000 | 98.000000 | 96.000000 |
对整个DataFrame批量使用多个聚合函数
df.agg(['sum', 'mean','max','min','median'])
a | b | c | d | e | |
---|---|---|---|---|---|
sum | 235.0 | 236.0 | 301.0 | 232.0 | 220.0 |
mean | 47.0 | 47.2 | 60.2 | 46.4 | 44.0 |
max | 81.0 | 80.0 | 97.0 | 98.0 | 96.0 |
min | 8.0 | 28.0 | 24.0 | 25.0 | 3.0 |
median | 63.0 | 39.0 | 56.0 | 36.0 | 39.0 |
对DataFramed的某些列应用不同的聚合函数
df.agg({'a':['max','min'],'b':['sum','mean'],'c':['median']})
a | b | c | |
---|---|---|---|
max | 81.0 | NaN | NaN |
min | 8.0 | NaN | NaN |
sum | NaN | 236.0 | NaN |
mean | NaN | 47.2 | NaN |
median | NaN | NaN | 56.0 |
注意其中applymap函数在新版已经被弃用,这里的案例是基于pandas=1.3.2写的
在Python中如果想要对数据使用函数,可以借助apply(),applymap(),map()对数据进行转换,括号里面可以是直接函数式,或者自定义函数(def)或者匿名函数(lambda)
1、当我们要对数据框(DataFrame)的数据进行按行或按列操作时用apply()
df.apply(lambda x :x.max()-x.min(),axis=1)
#axis=1,表示按行对数据进行操作
#从下面的结果可以看出,我们使用了apply函数之后,系统自动按行找最大值和最小值计算,每一行输出一个值
0 72
1 90
2 52
3 58
4 72
dtype: int64
df.apply(lambda x :x.max()-x.min(),axis=0)
#默认参数axis=0,表示按列对数据进行操作
#从下面的结果可以看出,我们使用了apply函数之后,系统自动按列找最大值和最小值计算,每一列输出一个值
a 73
b 52
c 73
d 73
e 93
dtype: int64
2、当我们要对数据框(DataFrame)的每一个数据进行操作时用applymap(),返回结果是DataFrame格式
df.applymap(lambda x : 1 if x>60 else 0)
#从下面的结果可以看出,我们使用了applymap函数之后,
#系统自动对每一个数据进行判断,判断之后输出结果
a | b | c | d | e | |
---|---|---|---|---|---|
0 | 1 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 0 |
2 | 0 | 0 | 0 | 0 | 0 |
3 | 1 | 0 | 1 | 0 | 0 |
4 | 1 | 1 | 1 | 0 | 1 |
3、当我们要对Series的每一个数据进行操作时用map()
df['a'].map(lambda x : 1 if x>60 else 0)
0 1
1 0
2 0
3 1
4 1
Name: a, dtype: int64
总结:
apply()
函数可以在DataFrame或Series上应用自定义函数,可以在行或列上进行操作。
applymap()
函数只适用于DataFrame,可以在每个元素上应用自定义函数。
map()
函数只适用于Series,用于将每个元素映射到另一个值。
以上是数学运算部分,包括聚合计算、批量应用聚合函数,以及对Series和DataFrame进行批量映射,接下来我们来看如何对数据进行合并拼接
这里分享一个你一定用得到的小程序——CDA数据分析师考试小程序。 它是专为CDA数据分析认证考试报考打造的一款小程序。可以帮你快速报名考试、查成绩、查证书、查积分,通过该小程序,考生可以享受更便捷的服务。 扫码加入CDA小程序,与圈内考生一同学习、交流、进步!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
数据分析在当今信息时代发挥着重要作用。单因素方差分析(One-Way ANOVA)是一种关键的统计方法,用于比较三个或更多独立样本组 ...
2025-04-25CDA持证人简介: 居瑜 ,CDA一级持证人国企财务经理,13年财务管理运营经验,在数据分析就业和实践经验方面有着丰富的积累和经 ...
2025-04-25在当今数字化时代,数据分析师的重要性与日俱增。但许多人在踏上这条职业道路时,往往充满疑惑: 如何成为一名数据分析师?成为 ...
2025-04-24以下的文章内容来源于刘静老师的专栏,如果您想阅读专栏《刘静:10大业务分析模型突破业务瓶颈》,点击下方链接 https://edu.cda ...
2025-04-23大咖简介: 刘凯,CDA大咖汇特邀讲师,DAMA中国分会理事,香港金管局特聘数据管理专家,拥有丰富的行业经验。本文将从数据要素 ...
2025-04-22CDA持证人简介 刘伟,美国 NAU 大学计算机信息技术硕士, CDA数据分析师三级持证人,现任职于江苏宝应农商银行数据治理岗。 学 ...
2025-04-21持证人简介:贺渲雯 ,CDA 数据分析师一级持证人,互联网行业数据分析师 今天我将为大家带来一个关于用户私域用户质量数据分析 ...
2025-04-18一、CDA持证人介绍 在数字化浪潮席卷商业领域的当下,数据分析已成为企业发展的关键驱动力。为助力大家深入了解数据分析在电商行 ...
2025-04-17CDA持证人简介:居瑜 ,CDA一级持证人,国企财务经理,13年财务管理运营经验,在数据分析实践方面积累了丰富的行业经验。 一、 ...
2025-04-16持证人简介: CDA持证人刘凌峰,CDA L1持证人,微软认证讲师(MCT)金山办公最有价值专家(KVP),工信部高级项目管理师,拥有 ...
2025-04-15持证人简介:CDA持证人黄葛英,ICF国际教练联盟认证教练,前字节跳动销售主管,拥有丰富的行业经验。在实际生活中,我们可能会 ...
2025-04-14在 Python 编程学习与实践中,Anaconda 是一款极为重要的工具。它作为一个开源的 Python 发行版本,集成了众多常用的科学计算库 ...
2025-04-14随着大数据时代的深入发展,数据运营成为企业不可或缺的岗位之一。这个职位的核心是通过收集、整理和分析数据,帮助企业做出科 ...
2025-04-11持证人简介:CDA持证人黄葛英,ICF国际教练联盟认证教练,前字节跳动销售主管,拥有丰富的行业经验。 本次分享我将以教培行业为 ...
2025-04-11近日《2025中国城市长租市场发展蓝皮书》(下称《蓝皮书》)正式发布。《蓝皮书》指出,当前我国城市住房正经历从“增量扩张”向 ...
2025-04-10在数字化时代的浪潮中,数据已经成为企业决策和运营的核心。每一位客户,每一次交易,都承载着丰富的信息和价值。 如何在海量客 ...
2025-04-09数据是数字化的基础。随着工业4.0的推进,企业生产运作过程中的在线数据变得更加丰富;而互联网、新零售等C端应用的丰富多彩,产 ...
2025-04-094月7日,美国关税政策对全球金融市场的冲击仍在肆虐,周一亚市早盘,美股股指、原油期货、加密货币、贵金属等资产齐齐重挫,市场 ...
2025-04-08背景 3月26日,科技圈迎来一则重磅消息,苹果公司宣布向浙江大学捐赠 3000 万元人民币,用于支持编程教育。 这一举措并非偶然, ...
2025-04-07在当今数据驱动的时代,数据分析能力备受青睐,数据分析能力频繁出现在岗位需求的描述中,不分岗位的任职要求中,会特意标出“熟 ...
2025-04-03