Python酷库之旅-第三方库Pandas(045)

目录

一、用法精讲

156、pandas.Series.count方法

156-1、语法

156-2、参数

156-3、功能

156-4、返回值

156-5、说明

156-6、用法

156-6-1、数据准备

156-6-2、代码示例

156-6-3、结果输出

157、pandas.Series.cov方法

157-1、语法

157-2、参数

157-3、功能

157-4、返回值

157-5、说明

157-6、用法

157-6-1、数据准备

157-6-2、代码示例

157-6-3、结果输出

158、pandas.Series.cummax方法

158-1、语法

158-2、参数

158-3、功能

158-4、返回值

158-5、说明

158-6、用法

158-6-1、数据准备

158-6-2、代码示例

158-6-3、结果输出

159、pandas.Series.cummin方法

159-1、语法

159-2、参数

159-3、功能

159-4、返回值

159-5、说明

159-6、用法

159-6-1、数据准备

159-6-2、代码示例

159-6-3、结果输出

160、pandas.Series.cumprod方法

160-1、语法

160-2、参数

160-3、功能

160-4、返回值

160-5、说明

160-6、用法

160-6-1、数据准备

160-6-2、代码示例

160-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

156、pandas.Series.count方法
156-1、语法
# 156、pandas.Series.count方法
pandas.Series.count()
Return number of non-NA/null observations in the Series.Returns:
int
Number of non-null values in the Series.
156-2、参数

        无

156-3、功能

        用于计算Series中非NaN值的数量的方法,它会忽略NaN和None值,只统计有效的非缺失值。

156-4、返回值

        返回的是一个整数,表示Series中非NaN或None值的数量,如果Series是空的或所有值都是缺失值,返回值将是0。

156-5、说明

        无

156-6、用法
156-6-1、数据准备
156-6-2、代码示例
# 156、pandas.Series.count方法
import pandas as pd
import numpy as np
# 创建一个Series
s = pd.Series([1, 2, np.nan, 4, None])
# 计算非NaN值的数量
count = s.count()
print(count)
156-6-3、结果输出
# 156、pandas.Series.count方法
# 3
157、pandas.Series.cov方法
157-1、语法
# 157、pandas.Series.cov方法
pandas.Series.cov(other, min_periods=None, ddof=1)
Compute covariance with Series, excluding missing values.The two Series objects are not required to be the same length and will be aligned internally before the covariance is calculated.Parameters:
other
Series
Series with which to compute the covariance.min_periods
int, optional
Minimum number of observations needed to have a valid result.ddof
int, default 1
Delta degrees of freedom. The divisor used in calculations is N - ddof, where N represents the number of elements.Returns:
float
Covariance between Series and other normalized by N-1 (unbiased estimator).
157-2、参数

157-2-1、other(必须)表示另一个Series对象,它与当前Series对象进行协方差计算,other必须与当前Series对象的长度相同。

157-2-2、min_periods(可选,默认值为None)指定了计算协方差所需的最小有效观测数量,即在计算协方差之前,两个Series中的有效数据点必须达到这个数量。如果有效数据点少于这个数量,返回的结果将是NaN;如果未设置(即None),则没有最小观测数量的限制,协方差会计算所有有效数据点。

157-2-3、ddof(可选,默认值为1)自由度调整参数,该参数用于控制协方差的计算方式:

157-2-3-1、 如果ddof=1,则计算样本协方差。这是默认设置,通常用于估计样本间的协方差

157-2-3-2、如果ddof=0,则计算总体协方差,即假设数据是整个总体的一部分。

157-3、功能

        用于计算两个Series对象之间的协方差。    

157-4、返回值

157-4-1、返回一个float类型的数值,表示两个Series之间的协方差。

157-4-2、如果无法计算协方差(例如Series的有效数据点数量不足),则返回NaN。

157-5、说明

        使用场景:

157-5-1、金融分析

  • 风险管理:在投资组合管理中,协方差用来衡量两个资产(如股票、债券)价格变动的相关性,这有助于评估资产组合的风险。
  • 资产配置:通过计算不同资产对组合收益的协方差,投资者可以优化资产配置以实现风险最小化或收益最大化。

157-5-2、数据分析与特征选择

  • 特征相关性分析:在构建机器学习模型时,了解特征之间的协方差可以帮助选择相关性较强的特征,改进模型性能。
  • 数据预处理:对于高维数据集,协方差矩阵有助于降维(例如,主成分分析PCA)以提取主要特征。

157-5-3、统计学研究

  • 回归分析:协方差是回归分析中的基础统计量之一,用于理解自变量和因变量之间的线性关系。
  • 变量关系探索:在探索数据集中的变量关系时,协方差可以作为初步分析工具,帮助识别变量间的潜在联系。

157-5-4、质量控制

  • 过程控制:在制造业或服务业中,协方差可以用来监控两个过程变量(如生产速率与产品质量)的关系,以优化生产过程和产品质量。

157-5-5、社会科学研究

  • 行为研究:在心理学或社会学研究中,协方差可以帮助分析不同变量(如心理测试分数与行为指标)之间的关系,揭示潜在的行为模式。
157-6、用法
157-6-1、数据准备
157-6-2、代码示例
# 157、pandas.Series.cov方法
import pandas as pd
s1 = pd.Series([1, 2, 3, 4, 5])
s2 = pd.Series([5, 4, 3, 2, 1])
# 计算协方差,使用默认的min_periods和ddof
covariance_default = s1.cov(s2)
print("Default covariance:", covariance_default)
# 设置min_periods为4
covariance_min_periods = s1.cov(s2, min_periods=4)
print("Covariance with min_periods=4:", covariance_min_periods)
# 设置ddof为0
covariance_ddof = s1.cov(s2, ddof=0)
print("Covariance with ddof=0:", covariance_ddof)
157-6-3、结果输出
# 157、pandas.Series.cov方法
# Default covariance: -2.5
# Covariance with min_periods=4: -2.5
# Covariance with ddof=0: -2.0
158、pandas.Series.cummax方法
158-1、语法
# 158、pandas.Series.cummax方法
pandas.Series.cummax(axis=None, skipna=True, *args, **kwargs)
Return cumulative maximum over a DataFrame or Series axis.Returns a DataFrame or Series of the same size containing the cumulative maximum.Parameters:
axis
{0 or ‘index’, 1 or ‘columns’}, default 0
The index or the name of the axis. 0 is equivalent to None or ‘index’. For Series this parameter is unused and defaults to 0.skipna
bool, default True
Exclude NA/null values. If an entire row/column is NA, the result will be NA.*args, **kwargs
Additional keywords have no effect but might be accepted for compatibility with NumPy.Returns:
scalar or Series
Return cumulative maximum of scalar or Series.
158-2、参数

158-2-1、axis(可选,默认值为None)在Series上,此参数没有实际作用,因为Series只有一个轴。

158-2-2、skipna(可选,默认值为True)如果为True,则在计算时会忽略NaN值;若为False,遇到NaN值时,结果也会为NaN。

158-2-3、*args(可选)传递其他位置参数。

158-2-4、**kwarg(可选)传递其他关键字参数。

158-3、功能

        用于计算Series对象的累积最大值,该方法沿着指定的轴(对Series来说,通常是轴0,即数据的顺序)计算累积最大值。

158-4、返回值

        返回一个新的Series对象,该Series的每个值表示从数据的开头到当前位置的最大值,这意味着返回的Series中的每个元素都是输入Series的累积最大值序列。具体来说,返回值的索引和原始Series一样,但其每个位置的值是从该位置开始向前的最大值。

158-5、说明

        应用场景:

158-5-1、时间序列分析: 用于计算时间序列数据的累积最大值,帮助识别数据的波动模式。

158-5-2、投资分析: 用于跟踪某一资产的累积最大值,帮助评估其表现。

158-5-3、数据预处理: 在特征工程中,累积最大值可以用作特征提取的一部分,特别是在处理时间序列数据时。

158-6、用法
158-6-1、数据准备
158-6-2、代码示例
# 158、pandas.Series.cummax方法
import pandas as pd
# 创建一个Series 对象
s = pd.Series([3, 1, 4, 1, 5, 9, 2, 6])
# 计算累积最大值
cummax_series = s.cummax()
print(cummax_series)
158-6-3、结果输出
# 158、pandas.Series.cummax方法
# 0    3
# 1    3
# 2    4
# 3    4
# 4    5
# 5    9
# 6    9
# 7    9
# dtype: int64
159、pandas.Series.cummin方法
159-1、语法
# 159、pandas.Series.cummin方法
pandas.Series.cummin(axis=None, skipna=True, *args, **kwargs)
Return cumulative minimum over a DataFrame or Series axis.Returns a DataFrame or Series of the same size containing the cumulative minimum.Parameters:
axis
{0 or ‘index’, 1 or ‘columns’}, default 0
The index or the name of the axis. 0 is equivalent to None or ‘index’. For Series this parameter is unused and defaults to 0.skipna
bool, default True
Exclude NA/null values. If an entire row/column is NA, the result will be NA.*args, **kwargs
Additional keywords have no effect but might be accepted for compatibility with NumPy.Returns:
scalar or Series
Return cumulative minimum of scalar or Series.
159-2、参数

159-2-1、axis(可选,默认值为None)在Series上,此参数没有实际作用,因为Series只有一个轴。

159-2-2、skipna(可选,默认值为True)如果为True,则在计算时会忽略NaN值;若为False,遇到NaN值时,结果也会为NaN。

159-2-3、*args(可选)传递其他位置参数。

159-2-4、**kwarg(可选)传递其他关键字参数。

159-3、功能

        用于计算数据序列的累积最小值,它返回一个与原数据序列长度相同的序列,其中每个位置的值表示该位置之前(包括该位置)的所有元素中的最小值。

159-4、返回值

        返回值是一个与原始Series对象长度相同的Series对象,其中每个值表示从序列的开始到当前位置的累计最小值,这个新的Series对象的索引与原始Series相同,而数据值则是对应位置的累计最小值。

159-5、说明

        应用场景:

159-5-1、股票或金融时间序列分析:例如,计算某股票价格时间序列的每个时间点的最低价格,这对于识别最低点、计算潜在的止损点或分析趋势反转非常有用。

159-5-2、监控设备或传感器数据:在连续监控设备或传感器数据时,可能需要了解每个时间点的历史最低值,以检测异常情况或确定故障的可能性。

159-5-3、质量控制和生产线监测:在生产过程中,可能需要监测某些参数(如温度、压力等)的累积最小值,以确保生产过程在预期范围内运行。

159-5-4、竞赛或游戏中的排名分析:在某些竞赛或游戏中,可能需要跟踪某个选手在比赛过程中的最低排名。

159-6、用法
159-6-1、数据准备
159-6-2、代码示例
# 159、pandas.Series.cummin方法
# 159-1、股票或金融时间序列分析
import pandas as pd
prices = pd.Series([10, 12, 8, 11, 9, 15, 7])
cummin_prices = prices.cummin()
print(cummin_prices, end='\n\n')# 159-2、监控设备或传感器数据
import pandas as pd
temperatures = pd.Series([22, 21, 19, 20, 18, 17, 16])
cummin_temperatures = temperatures.cummin()
print(cummin_temperatures, end='\n\n')# 159-3、质量控制和生产线监测
import pandas as pd
pressures = pd.Series([30, 28, 29, 27, 26, 25, 24])
cummin_pressures = pressures.cummin()
print(cummin_pressures, end='\n\n')# 159-4、竞赛或游戏中的排名分析
import pandas as pd
ranks = pd.Series([5, 3, 4, 2, 1, 4, 3])
cummin_ranks = ranks.cummin()
print(cummin_ranks)
159-6-3、结果输出
# 159、pandas.Series.cummin方法
# 159-1、股票或金融时间序列分析
# 0    10
# 1    10
# 2     8
# 3     8
# 4     8
# 5     8
# 6     7
# dtype: int64# 159-2、监控设备或传感器数据
# 0    22
# 1    21
# 2    19
# 3    19
# 4    18
# 5    17
# 6    16
# dtype: int64# 159-3、质量控制和生产线监测
# 0    30
# 1    28
# 2    28
# 3    27
# 4    26
# 5    25
# 6    24
# dtype: int64# 159-4、竞赛或游戏中的排名分析
# 0    5
# 1    3
# 2    3
# 3    2
# 4    1
# 5    1
# 6    1
# dtype: int64
160、pandas.Series.cumprod方法
160-1、语法
# 160、pandas.Series.cumprod方法
pandas.Series.cumprod(axis=None, skipna=True, *args, **kwargs)
Return cumulative product over a DataFrame or Series axis.Returns a DataFrame or Series of the same size containing the cumulative product.Parameters:
axis
{0 or ‘index’, 1 or ‘columns’}, default 0
The index or the name of the axis. 0 is equivalent to None or ‘index’. For Series this parameter is unused and defaults to 0.skipna
bool, default True
Exclude NA/null values. If an entire row/column is NA, the result will be NA.*args, **kwargs
Additional keywords have no effect but might be accepted for compatibility with NumPy.Returns:
scalar or Series
Return cumulative product of scalar or Series.
160-2、参数

160-2-1、axis(可选,默认值为None)在Series上,此参数没有实际作用,因为Series只有一个轴。

160-2-2、skipna(可选,默认值为True)如果为True,则在计算时会忽略NaN值;若为False,遇到NaN值时,结果也会为NaN。

160-2-3、*args(可选)传递其他位置参数。

160-2-4、**kwarg(可选)传递其他关键字参数。

160-3、功能

        用于计算数据序列的累积乘积。

160-4、返回值

        返回一个与原数据序列长度相同的序列,其中每个位置的值表示该位置之前(包括该位置)的所有元素的乘积。

160-5、说明

        应用场景:

160-5-1、金融时间序列分析:例如,计算某投资组合在每个时间点的累计收益率。

160-5-2、产品生产过程中的累积效率:在生产过程中,可以使用累积乘积来计算某个过程中多个步骤的总效率。

160-5-3、概率累积计算:在一些概率问题中,可能需要计算一系列独立事件的联合概率。

160-5-4、成长因子的累积计算:例如,计算一个公司在每年增长率下的累积增长因子。

160-6、用法
160-6-1、数据准备
160-6-2、代码示例
# 160、pandas.Series.cumprod方法
# 160-1、金融时间序列分析
import pandas as pd
returns = pd.Series([1.02, 1.03, 0.97, 1.05, 0.98])
cumprod_returns = returns.cumprod()
print(cumprod_returns, end='\n\n')# 160-2、产品生产过程中的累积效率
import pandas as pd
efficiencies = pd.Series([0.95, 0.98, 0.99, 0.97])
cumprod_efficiencies = efficiencies.cumprod()
print(cumprod_efficiencies, end='\n\n')# 160-3、概率累积计算
import pandas as pd
probabilities = pd.Series([0.9, 0.85, 0.8, 0.95])
cumprod_probabilities = probabilities.cumprod()
print(cumprod_probabilities, end='\n\n')# 160-4、成长因子的累积计算
import pandas as pd
growth_factors = pd.Series([1.1, 1.05, 1.2, 1.15])
cumprod_growth_factors = growth_factors.cumprod()
print(cumprod_growth_factors)
160-6-3、结果输出
# 160、pandas.Series.cumprod方法
# 160-1、金融时间序列分析
# 0    1.020000
# 1    1.050600
# 2    1.019082
# 3    1.070036
# 4    1.048635
# dtype: float64# 160-2、产品生产过程中的累积效率
# 0    0.950000
# 1    0.931000
# 2    0.921690
# 3    0.894039
# dtype: float64# 160-3、概率累积计算
# 0    0.9000
# 1    0.7650
# 2    0.6120
# 3    0.5814
# dtype: float64# 160-4、成长因子的累积计算
# 0    1.1000
# 1    1.1550
# 2    1.3860
# 3    1.5939
# dtype: float64

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/50086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 集成 Kafka

Spring Boot 与 Kafka 集成是实现高效消息传递和数据流处理的常见方式。Spring Boot 提供了简化 Kafka 配置和使用的功能,使得集成过程变得更加直观和高效。以下是 Spring Boot 集成 Kafka 的详细步骤,包括配置、生产者和消费者的实现以及一些高级特性。…

docker配置上网代理获取镜像

一、添docker子配置档设置 1、创建目录 mkdir /etc/systemd/system/docker.service.d 2、创建http-proxy.conf文件,增加以下内容 cat > /etc/systemd/system/docker.service.d/http-proxy.conf <<EOF [Service] Environment“HTTP_PROXYhttp://192.168.0.2:8118…

分布式系统常见软件架构模式

常见的分布式软件架构 Peer-to-Peer (P2P) PatternAPI Gateway PatternPub-Sub (Publish-Subscribe)Request-Response PatternEvent Sourcing PatternETL (Extract, Transform, Load) PatternBatching PatternStreaming Processing PatternOrchestration Pattern总结 先上个图&…

.h264 .h265 压缩率的直观感受

1.资源文件 https://download.csdn.net/download/twicave/89579327 上面是.264 .265和原始的YUV420文件&#xff0c;各自的大小。 2.转换工具&#xff1a; 2.1 .h264 .h265互转 可以使用ffmpeg工具&#xff1a;Builds - CODEX FFMPEG gyan.dev 命令行参数&#xff1a; …

liteos定时器回调时间过长造成死机问题解决思路

项目需求 原代码是稳定的&#xff0c;现我实现EMQ平台断开连接的时候&#xff0c;把HSL的模拟点位数据采集到网关&#xff0c;然后存入Flash&#xff0c;当EMQ平台连接的时候&#xff0c;把Flash里面的点位数据放在消息队列里面&#xff0c;不影响实时采集。 核心1&#xff1a…

Springboot实现缓存组件(ctgcache、redis)配置动态切换

目录 一、需求背景 二、实现缓存组件的动态切换 1.第一步&#xff1a;配置文件新增切换开关 2.第二步&#xff1a;创建ctgcache 缓存条件类 3.第三步&#xff1a;创建redis 缓存条件类 4.第四步&#xff1a;创建缓存切换配置类 5.第五步&#xff1a;创建缓存服务接口 6.…

godot新建项目及设置外部编辑器为vscode

一、新建项目 初次打开界面如下所示&#xff0c;点击取消按钮先关闭掉默认弹出的框 点击①新建弹出中间的弹窗②中填入项目的名称 ③中设置项目的存储路径&#xff0c;点击箭头所指浏览按钮&#xff0c;会弹出如下所示窗口 根据图中所示可以选择或新建自己的游戏存储路径&…

鸿蒙(HarmonyOS)自定义Dialog实现时间选择控件

一、操作环境 操作系统: Windows 11 专业版、IDE:DevEco Studio 3.1.1 Release、SDK:HarmonyOS 3.1.0&#xff08;API 9&#xff09; 二、效果图 三、代码 SelectedDateDialog.ets文件/*** 时间选择*/ CustomDialog export struct SelectedDateDialog {State selectedDate:…

Linux系统上安装Redis

百度网盘&#xff1a; 通过网盘分享的文件&#xff1a;redis_linux 链接: https://pan.baidu.com/s/1ZcECygWA15pQWCuiVdjCtg?pwd8888 提取码: 8888 1.把安装包拖拽到/ruanjian/redis/文件夹中&#xff08;自己选择&#xff09; 2.进入压缩包所在文件夹&#xff0c;解压压缩…

ROM修改进阶教程------修改rom 开机自动安装指定apk 自启脚本完整步骤解析

rom修改的初期认识 在解包修改系统分区过程中。很多客户需求刷完rom后自动安装指定apk。这种与内置apk有区别。而且一些极个别apk无法内置。今天对这种修改rom刷入机型后第一次启动后自动安装指定apk的需求做个步骤解析。 在前期博文中我有做过说明。官方系统固件解…

按图搜索新体验:阿里巴巴拍立淘API返回值详解

阿里巴巴拍立淘API是一项基于图片搜索的商品搜索服务&#xff0c;它允许用户通过上传商品图片&#xff0c;系统自动识别图片中的商品信息&#xff0c;并返回与之相关的搜索结果。以下是对阿里巴巴拍立淘API返回值的详细解析&#xff1a; 一、主要返回值内容 商品信息 商品列表…

Java面试题(每日更新)

每日五道&#xff01;学会就去面试&#xff01; 本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单&#xff0c;下面一起进入主题吧。 目录 1.概述 2.Java 基础 2.1 JDK 和 JRE 有什么区别&#xff1f; 2.2 和 equals 的区别是什么&#xff1f; 2.3 两个对象的…

ECharts实现按月统计和MTBF统计

一、数据准备 下表是小明最近一年的旅游记录 create_datecity_namecost_money2023-10-10 10:10:10北京14992023-11-11 11:11:11上海29992023-12-12 12:12:12上海19992024-01-24 12:12:12北京1232024-01-24 12:12:12上海2232024-02-24 12:12:12广州5642024-02-24 12:12:12北京…

leetcode-148. 排序链表

题目描述 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4]示例 2&#xff1a; 输入&#xff1a;head [-1,5,3,4,0] 输出&#xff1a;[-1,0,3,4,5]示例 3&#x…

react18+

主要是围绕函数式组件讲&#xff0c;18主要用就是函数式组件&#xff0c;学习前先熟悉下原生js的基本使用&#xff0c;主要是事件 1、UI操作 1.1、书写jsx标签语言 基本写法和原生如同一则&#xff0c;只是放在一个方法里面返回而已&#xff0c;我们称这样的写法为函数式组件…

OrangePi Zero2 全志H616 开发初探

目录&#xff1a; 一、刷机和系统启动1、TF 卡格式化&#xff1a;2、镜像烧录&#xff1a;3、登录系统&#xff1a; 二、基于官方外设开发1、wiringPi 外设 SDK 安装&#xff1a;2、C 文件编译&#xff1a;3、基于官方外设的应用开发&#xff1a;① GPIO 输入输出&#xff1a;②…

【个人亲试最新】WSL2中的Ubuntu 22.04安装Docker

文章目录 Wsl2中的Ubuntu22.04安装Docker其他问题wsl中执行Ubuntu 报错&#xff1a;System has not been booted with systemd as init system (PID 1). Can‘t operate. 参考博客 &#x1f60a;点此到文末惊喜↩︎ Wsl2中的Ubuntu22.04安装Docker 确定为wsl2ubuntu22.04&#…

C++20之设计模式:状态模式

状态模式 状态模式状态驱动的状态机手工状态机Boost.MSM 中的状态机总结 状态模式 我必须承认:我的行为是由我的状态支配的。如果我没有足够的睡眠&#xff0c;我会有点累。如果我喝了酒&#xff0c;我就不会开车了。所有这些都是状态(states)&#xff0c;它们支配着我的行为:…

uniapp 中uni.request H5无法使用请求头

今天调试一天忘了看官网文档一直以为写错了&#xff0c;后来发现uniapp 里面就不能自定义h5我擦。 如果要测试可以走HX的内置浏览器中测试 其他比如小程序或者APP都可以使用

vue接入google map自定义marker教程

需求背景 由于客户需求&#xff0c;原来系统接入的高德地图&#xff0c;他们不接受&#xff0c;需要换成google地图。然后就各种百度&#xff0c;各种Google&#xff0c;却不能实现。----无语&#xff0c;就连google地图官方的api也是一坨S-H-I。所以才出现这篇文章。 google地…