Pandas函数(2)

DataFrame指数权重窗口ewm使用: DataFrame.ewm([com, span, halflife, …]) @创建于:20210311 @修改于:20210311 文章目录1、背景2、ewm介绍2.1 DataFrame ewm API接口介绍2.2 参数介绍3、例子3.1 必选参数比较3.2 adjust参数比较3.2 ignore_na参数比较3.2 times参数使用4、参考资料 1、背景 DataFrame下的指数权重滑窗算法在时间序列预测中较常用。本文对其的使用方法、理论内容和具体例子进行阐述,以方便使用者最快速度掌握。 2、ewm介绍 2.1 DataFrame ewm API接口介绍 此处对应的 阅读详情

一、描述性统计信息函数

#创建一个DataFrame数据框
import pandas as pd
import numpy as np
dic = {
    'name':['zhang','wang','li','zhao','sun'],
    'age':[17,18,18,18,19],
    '数学':[83,89,94,94,92],
    '语文':[89,90,91,92,92],
    '英语':[92,93,94,94,95]
}
df=pd.DataFrame(data=dic,index=[1,2,3,4,5])
df

在这里插入图片描述

1)、求和:

df.sum(axis=0)

在这里插入图片描述

2)、求平均数

df.mean()

在这里插入图片描述

3)、求标准差

df.std()

在这里插入图片描述

4)、计数

df.count()

在这里插入图片描述

5)、求每一行的中位数

df.median(axis=1)

在这里插入图片描述

6)、每一行最小值

df.min(axis=1)

在这里插入图片描述

7)、四分位数

df.quantile(0.25)

在这里插入图片描述

8)、累积求和

df.cumsum()

在这里插入图片描述

9)、累积最大值

df.cummax()

在这里插入图片描述

10)、累积最小值

df.cummin()

在这里插入图片描述

二、汇总函数

1)、描述函数describe()

df.describe()

在这里插入图片描述

2)、信息函数info()

df.info()  #特征数据类型、非空数量、总体样本量

在这里插入图片描述

三、统计函数

1、pct_change()函数

1)、此函数将每个元素与其前一个元素进行比较,并计算变化百分比

2)、pct_change()对列进行操作; 如果想应用到行上,那么可使用axis = 1参数

import pandas as pd
import numpy as np

s = pd.Series([1,2,3,4,5])
print(s)
print (s.pct_change())

在这里插入图片描述

2、方差Var

样本方差: S^2= ∑(X-u ) ^2 / (n-1)
衡量随机变量或一组数据时离散程度的度量

s.var()

在这里插入图片描述

3、协方差Cov

Cov(X,Y)=E[(x-E[x])(Y-E[Y])
方差用于衡量两个变量的总体误差。 Series对象有一个方法cov用来计算序列对象之间的协方差。NA将被自动排除。

import pandas as pd
import numpy as np

s1 = pd.Series(np.random.randn(10))
s2 = pd.Series(np.random.randn(10))
print (s1.cov(s2))

在这里插入图片描述
当应用于DataFrame时,协方差方法计算所有列之间的协方差(cov)值

import pandas as pd
import numpy as np

frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
print(frame['a'].cov(frame['b']))
print(frame.cov())

在这里插入图片描述

4、相关性

r(X,Y)=Cov(X,Y)/根号下[Var(X)Var(Y)]
相关性显示了任何两个数值(系列)之间的线性关系。有多种方法来计算pearson(默认)

import pandas as pd
import numpy as np

frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
print(frame)

print (frame.corr())

在这里插入图片描述

5、数据排名 rank

排名函数,目的就是按照某种规则(从大到小,从小到大)给原序列的值进行排名。

所返回的结果也是一个序列,它展示来愿序列中每一个值在序列中的名次

ser = pd.Series([1,2,3,7,3])
ser

在这里插入图片描述

ser.rank()   #在原来ser这个序列中,0-4这5个索引所对应的每一个值分别在序列里排名第几

在这里插入图片描述
method参数
‘’’
method=‘average’ (默认设置):那么这两个人就占据了前两名,分不出谁第 1,谁第 2,就把两人的名次算个平均数,都算 1.5 名,这样下一个人就是第3名。
method=‘max’:两人并列第 2 名,下一个人是第 3 名。
method=‘min’:两人并列第 1 名,下一个人是第 3 名。
method=‘dense’:两人并列第 1 名,但下一个人是第 2 名。
method=‘first’:按数据在原始数据中出现的次序进行排名的
‘’’

ser.rank(method='average')

在这里插入图片描述

ser.rank(method='max')

在这里插入图片描述

ser.rank(method='min')

在这里插入图片描述

ser.rank(method='first')

在这里插入图片描述

四、窗口函数

1、==.rolling()函数 ==

固定窗口大小,这个函数可以应用于一系列数据。指定window=n参数,并应用适当的统计函数。

参数解释:window:表示时间窗的大小,min_periods:每个窗口最少包含的观测值数量, on: 可选参数。对于dataframe而言,指定要计算滚动窗口的列。值为列名。axis: 默认为0,即对列进行计算

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(10, 4),index = pd.date_range('1/1/2020', periods=10),columns = ['A', 'B', 'C', 'D'])
print(df)

在这里插入图片描述

 print (df.rolling(window=3).mean())   #移动平均值

在这里插入图片描述

2、expanding()函数

只设置最小的观测值数量,不固定窗口大小,实现累计计算,即不断扩展;rolling()函数,是固定窗口大小,进行滑动计算

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10, 4),
                  index = pd.date_range('1/1/2018', periods=10),
                  columns = ['A', 'B', 'C', 'D'])
df

在这里插入图片描述

df.expanding(min_periods=2).mean()

在这里插入图片描述

3、ewm()指数加权函数

ewm(com =无,跨度=无,半衰期=无,alpha =无,min_periods = 0,调整= True,ignore_na = False,轴= 0,时间=无)

根据质心指定衰减, α=1/(1+com)

df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]})
df

在这里插入图片描述

df.ewm(com=0.5).mean()

在这里插入图片描述
ewm计算原理如下(里面有公式推导哦!):参考:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.ewm.html

Pandas - 9.2 向量化函数 对于非向量化的函数,使用np.vectorize创建新函数实现向量化(对于没有某个函数的源代码时)python装饰器把函数向量化,无需创建新函数(对于函数是自定义的)当函数相当简单时,可以写在apply方法中。... 阅读详情

相关推荐

pandas数据处理--2映射replace函数、map函数

2.映射 2.1映射含义说明:创建一个映射关系列表,把values元素和一个特定的标签或者字符串绑定 2.2相关操作函数: 2.2.1 replace()函数:替换元素(DataFrame\Series的函数) A.函数:df.replace(to_replace=None,value=None,inplace=False,limit=None,regex=False,method=‘pad’) ...

直心I 2221

[Python 数据科学] python 计算均值、方差、标准差 Numpy,Pandas

文章目录1. Numpy 计算均值、方差、标准差2. Pandas 计算均值、方差、标准差 Python 中的 numpy 包 和 pandas 包都能够计算均值、方差等,本文总结一下它们的用法。 1. Numpy 计算均值、方差、标准差 一般的均值可以用 numpy 中的 mean 方法求得: >>> import numpy as np >>> a =...

天天向上的专栏 23万+

Pandas 2.0 分组聚合进阶:自定义聚合函数与 agg 方法 5 个高效技巧

本文深入探讨Pandas 2.0中分组聚合的高级技巧,重点介绍自定义聚合函数与agg方法的5个高效应用。通过实际代码示例展示如何实现灵活的数据分析,包括多列不同聚合操作、命名聚合提升可读性、性能优化策略等,帮助数据分析师充分发挥Pandas分组聚合的强大功能。

weixin_33883104的博客 232

Python Pandas窗口函数

Python Pandas窗口函数 为了能更好地处理数值型数据,Pandas 提供了几种窗口函数,比如移动函数(rolling)、扩展函数(expanding)和指数加权函数(ewm)。 窗口函数应用场景非常多。举一个简单的例子:现在有 10 天的销售额,而您想每 3 天求一次销售总和,也就说第五天的销售额等于(第三天 + 第四天 + 第五天)的销售额之和,此时窗口函数就派上用场了。 窗口是一种形象化的叫法,这些函数在执行操作时,就如同窗口一样在数据区间上移动。 本节学习主要讲解如何在 DataFrame

ccc369639963的博客 4707

使用Pandas的ewm函数计算DataFrame中指定数据列的特定周期指数移动平均(EMA)

接着,我们使用ewm函数计算窗口大小为3的指数移动平均值,并将结果添加到新的列中。在本示例中,我们使用了DataFrame的ewm()函数来计算指定周期内的指数移动平均值。在实际使用中,你可以根据需要调整这些参数的值。Pandas中的ewm函数是用来计算指数移动平均值的,它可以对于DataFrame和Series对象进行指数加权的运算。通过使用ewm函数,我们可以轻松地计算指数移动平均的值。通过使用Pandas的ewm函数,我们可以轻松地计算DataFrame中任意数据列的指定周期的指数移动平均值。

m0_47037246的博客 1771

使用pandas的ewm函数计算DataFrame指定数据列的特定周期指数移动平均

在Python中,我们可以使用pandas库的ewm函数来计算DataFrame中指定数据列的特定周期的指数移动平均。除了计算指定周期的指数移动平均外,pandas的ewm函数还支持计算指定时间间隔的指数移动平均,例如计算每天的指数移动平均或每小时的指数移动平均。然后,我们使用ewm函数计算了价格列的5日和10日指数移动平均,并将结果存储在新的列EMA_5和EMA_10中。以上是使用pandas的ewm函数计算DataFrame指定数据列的特定周期指数移动平均的示例代码和说明。希望这篇文章对你有所帮助!

NoerrorCode的博客 1370

Pandas 2.2 分组聚合实战:3种自定义函数与agg()方法性能对比

本文深入探讨了Pandas 2.2版本中分组聚合操作的性能优化策略,对比了内置函数、Lambda表达式和自定义函数三种方式的执行效率。通过百万级电商订单数据的实测分析,揭示了内置函数性能最优的关键优势,并提供了混合使用策略、eval()优化等实用技巧,帮助数据分析师显著提升大数据处理效率。

cong84596496的博客 399

HFSS线圈仿真避坑指南:从建模到寄生参数分析的完整流程

本文详细介绍了HFSS线圈仿真的完整流程,从精准建模到寄生参数优化,特别针对Ansys Electronics Desktop用户提供实用指南。涵盖线圈几何构建、材料属性配置、端口激励设置及寄生电阻与电感分析等关键步骤,帮助工程师避免常见错误,提升仿真精度与效率。

weixin_29209801的博客 550

Pandas相关知识(函数2)

how:合并方式,可以是 'inner'、'outer'、'left' 或 'right'。indicator:布尔值,如果为 True,则在结果中添加一个名为 __merge 的列,指示每行是如何合并的。常见的频率包括 'D'(天)、'H'(小时)、'T' 或 'min'(分钟)、'S'(秒)等。'right':右连接,返回右侧 DataFrame 的所有键,以及左侧 DataFrame 匹配的键。'left':左连接,返回左侧 DataFrame 的所有键,以及右侧 DataFrame 匹配的键。

2302_80092297的博客 2232

信号削峰CFR基础知识介绍(一)

接下来,将得到的峰值分成若干段,在每一段中,仅保留该段内所有峰值中幅度最大的峰值。为了减少不必要的带外泄露,削峰后的信号将通过一个低通滤波器,以减少对应于削峰后信号中尖锐拐角的高频信号。首先,它识别出高于由目标PAPR确定的阈值的峰值。在峰值加窗算法中,削峰是通过在峰值区域将原始信号与一个加窗函数相乘来实现的,如下图所示。其中,w(n) 是一种常见的加窗函数,如凯撒窗、高斯窗和汉明窗等,而 p(n) 是一个加权系数。如上图所示,削峰会导致削峰后的信号出现尖锐的拐角,从而引发不必要的带外辐射(ACP增加)。

weixin_49761275的博客 1552

银河麒麟系统V10 Server SP1 安装Oracle 19c

•oracle-database-preinstall-19c 这个工具会自动配置系统参数,创建 oracle 用户和组。比较方便。•••••银河麒麟高级服务器操作系统V10 - 国产操作系统、银河麒麟、中标麒麟、开放麒麟、星光麒麟——麒麟软件官方网站。

fuguimashu的博客 4325

【Python】【pandas-汇总2】series常用属性和函数

20180425完成此博客

蔚蓝的天空Tom 1万+

手把手教你用LcmSim+TakeDotLib打造完美LCD显示效果(附12x12汉字配置模板)

本文详细介绍了如何使用LcmSim模拟器与TakeDotLib标准字库工具优化LCD显示效果,包括字体选择、字库生成和实体设备验证。通过12x12汉字与8x16 ASCII的黄金比例配置,帮助开发者解决嵌入式开发中的显示难题,提升用户体验。附赠12x12汉字配置模板,可直接用于项目。

weixin_29205061的博客 137

Pandas基础回顾2-函数和读取CSV文件

apply()方法允许对每个组应用自定义函数,这比其他聚合方法更加灵活,适用于一些复杂的操作。# 对每个组的 'Age' 列应用自定义函数(例如求最大值减去最小值)NameAlice 0Bob 0Charlie 0对每个组应用自定义函数,计算组内Age列的最大值减去最小值。7.合并在Pandas中,合并(Merging)是一个非常常见的操作,尤其在处理多个数据表(DataFrame)时,可能需要将它们结合成一个新的表。Pandas 提供了几种方法来完成数据的合并和连接,最常用的方法是。

ETH_escober的博客 2115

STK轨道仿真环境搭建实战:从地月系到多天体场景

本文详细介绍了STK轨道仿真环境搭建的实战指南,从基础的地月系统到复杂的多天体场景。通过逐步操作说明和实用技巧,帮助用户快速掌握STK软件的使用方法,提升轨道仿真效率,适用于航天任务设计和教学演示。

weixin_30312563的博客 399

深入NAND Flash信号与接口:结合ONFI 5.0协议,聊聊DBI、ODT和差分信号到底在解决什么实际问题

本文深入探讨了NAND Flash信号与接口设计,结合ONFI 5.0协议,详细解析了DBI、ODT和差分信号等技术如何解决高速数据传输中的信号完整性问题。通过实际案例和数据,展示了这些技术在降低功耗、减少噪声和提升抗干扰能力方面的显著效果,为存储工程师提供了宝贵的实践参考。

weixin_33736649的博客 344

Part 2.4 pandas的Apply 函数和 Map函数

Applications of Deep Neural Networks with Keras 基于Keras的深度神经网络应用 著:Jeff Heaton 译:人工智能学术前沿 目录 1.Python基础 2.机器学习Python 3.TensorFlow简介 4.表格类数据的训练 5.正则化和Dropout 6.用于计算机视觉的卷积神经网络 7.生成对抗网络 8.Kaggle数据集 9.迁移学习 10.Keras的时间序列 11.自然语言处理与语音识别 12.强化学习 1

zzh1464501547的博客 470

使用 Python 爬取网易云音乐歌单数据(完整教程)

随着在线音乐平台的普及,网易云音乐(NetEase Cloud Music)凭借其个性化的推荐算法和丰富的用户互动,吸引了大量用户。网易云音乐的歌单中包含了丰富的音乐数据,包括歌曲名、歌手、专辑、播放量、评论数等信息。通过爬取这些数据,可以对音乐流行趋势进行分析,挖掘音乐推荐策略,甚至训练个性化推荐模型。网易云音乐的 API 并未官方开放,但开发者通过抓包和逆向分析,找到了若干可用接口。✅ 数据清洗与存储(CSV/数据库)✅ 网易云音乐 API 接口分析。✅ 网易云音乐接口解析。✅ 同步与异步爬取实现。

2201_76125261的博客 1373

5.2 pandas 常用函数清单

文件读取 df = pd.read_csv(path='file.csv') 参数:header=None 用默认列名,0,1,2,3... names=['A', 'B', 'C'...] 自定义列名 index_col='A'|['A', 'B'...] 给索引列指定名称,如果是多重索引,可以传list skiprows=[...

a88842443的博客 212

ABAP Secure Storage 在事务码 SM59 中的应用

系统管理人员在进行维护时,应关注相关日志信息,及时发现可能出现的安全异常,并针对不同安全等级的操作制定相应的备份与恢复策略,以降低潜在风险。该区域在设计上具备高度隔离性,仅允许经过授权的组件访问。保存后,系统会将密码存储在 Secure Storage 中,这种处理方式充分体现了 SAP 标准程序在安全设计上的考量。对于系统管理员而言,这种机制在日常维护与审计中提供了有力的支持,可以通过比对存储数据的哈希值或其他完整性校验手段,及时发现异常变动,保障系统长期稳定运行。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 680

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

2.Pandas常用函数汇总

(1)原表格 (2)行索引排序 (3)列索引排序。从左到右依次为内/左/右/外连接。

m0_58420188的博客 122

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

pandas DataFrame apply()函数(2)

上一篇pandas DataFrame apply()函数(1)说了如何通过apply函数对DataFrame进行转换,得到一个新的DataFrame. 这篇介绍DataFrame apply()函数的另一个用法,得到一个新的pandas Series: apply()中的函数接收的参数为一行(列),把一行(列)通过计算,返回一个值,最后返回一个Series: 下图展示了把Data...

224

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Pandas 2.2 分组聚合实战:3种agg函数组合计算红酒消耗量极差与啤酒总和

本文详细介绍了Pandas 2.2中分组聚合功能的实战应用,通过3种不同的`agg`函数组合方式计算全球各大陆的红酒消耗量极差与啤酒总和。内容涵盖数据准备、基础字典映射法、混合内置与自定义函数的agg组合、命名聚合等技巧,并提供了性能对比、可视化分析和实际应用场景扩展,帮助读者高效处理分类维度数据集。

weixin_30512965的博客 305

10.28Python_pandas_函数(2)

notnull()用于检测 DataFrame 或 Series 中的非空值,返回一个布尔值的 DataFrame 或 Series。isnull()用于检测 DataFrame 或 Series 中的空值,返回一个布尔值的 DataFrame 或 Series。indicator:布尔值,如果为 True,则在结果中添加一个名为 __merge 的列,指示每行是如何合并的。strftime 用于将日期时间对象转换为指定格式的字符串,而 strptime 用于将字符串解析为日期时间对象。

gs1we1的博客 1262

pandas concat函数_Pandas 教程——不同类型电影的比较(2)

除了 常见的分组操作,另一个比较重要的是多个 DataFrame 之间的连接操作 和 合并操作,在 MySQL 中相对应的就是 join 和 union 关键字。merge ( ) 函数MySQL 中通过 movie_id 字段对两个表进行 join:select * from movie_1 join movie_2 on movie_1.movie_id = movie_2.movie_id...

weixin_39781323的博客 179

L2-pandas中的replace、rename和map函数

发现几个小函数,在pandas中用来对dataframe对象进行更新与映射操作,试用并分享如下。 准备数据样例: frame1 = pd.DataFrame({'item':['ball','mug','pen','pencil','ashtray'], 'color':['white','rosso','verde','black','yellow']...

飞虹的专栏 1231
上一篇: 字符串
下一篇: SQL基础知识(1)
Martin !
博客等级 码龄6年 7粉丝 14原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值