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

目录

一、用法精讲

65、pandas.bdate_range函数

65-1、语法

65-2、参数

65-3、功能

65-4、返回值

65-5、说明

65-6、用法

65-6-1、数据准备

65-6-2、代码示例

65-6-3、结果输出

66、pandas.period_range函数

66-1、语法

66-2、参数

66-3、功能

66-4、返回值

66-5、说明

66-6、用法

66-6-1、数据准备

66-6-2、代码示例

66-6-3、结果输出 

67、pandas.timedelta_range函数

67-1、语法

67-2、参数

67-3、功能

67-4、返回值

67-5、说明

67-6、用法

67-6-1、数据准备

67-6-2、代码示例

67-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

65、pandas.bdate_range函数
65-1、语法
# 65、pandas.bdate_range函数
pandas.bdate_range(start=None, end=None, periods=None, freq='B', tz=None, normalize=True, name=None, weekmask=None, holidays=None, inclusive='both', **kwargs)
Return a fixed frequency DatetimeIndex with business day as the default.

Parameters:
startstr or datetime-like, default None
Left bound for generating dates.

endstr or datetime-like, default None
Right bound for generating dates.

periodsint, default None
Number of periods to generate.

freqstr, Timedelta, datetime.timedelta, or DateOffset, default ‘B’
Frequency strings can have multiples, e.g. ‘5h’. The default is business daily (‘B’).

tzstr or None
Time zone name for returning localized DatetimeIndex, for example Asia/Beijing.

normalizebool, default False
Normalize start/end dates to midnight before generating date range.

namestr, default None
Name of the resulting DatetimeIndex.

weekmaskstr or None, default None
Weekmask of valid business days, passed to numpy.busdaycalendar, only used when custom frequency strings are passed. The default value None is equivalent to ‘Mon Tue Wed Thu Fri’.

holidayslist-like or None, default None
Dates to exclude from the set of valid business days, passed to numpy.busdaycalendar, only used when custom frequency strings are passed.

inclusive{“both”, “neither”, “left”, “right”}, default “both”
Include boundaries; Whether to set each bound as closed or open.

New in version 1.4.0.

**kwargs
For compatibility. Has no effect on the result.

Returns:
DatetimeIndex
65-2、参数

65-2-1、start(可选,默认值为None)起始时间,字符串或datetime-like对象。可以为空,如果指定了end和periods。

65-2-2、end(可选,默认值为None)结束时间,字符串或datetime-like对象。可以为空,如果指定了start和periods。

65-2-3、periods(可选,默认值为None)生成的时间点数,如果指定了start或end其中之一,此参数必需。

65-2-4、freq(可选,默认值为'B')频率字符串,常见的频率字符串包括'B'(工作日)、'C'(自定义工作日),还可以用pd.offsets对象定义复杂频率。

65-2-5、tz(可选,默认值为None)时区字符串或tzinfo对象。

65-2-6、normalize(可选,默认值为True)将时间标准化到午夜时间。

65-2-7、name(可选,默认值为None)生成的DatetimeIndex的名称。

65-2-8、weekmask(可选,默认值为None)指定一周中哪些天是工作日,可以是一个字符串,比如'Mon Tue Wed Thu Fri',默认值取决于freq。

65-2-9、holidays(可选,默认值为None)指定节假日,作为一个日期列表,用于排除这些日期。

65-2-10、inclusive(可选,默认值为'both')包括或排除起始和结束点,可以是'both'、'neither'、'left'或'right'。

65-2-11、**kwargs(可选)其他关键字参数,这些参数将被传递给DateOffset构造函数(如果freq是一个DateOffset对象或可以从字符串解析为DateOffset对象)。

65-3、功能

        用于生成工作日(business days)日期范围的一个函数,该函数专为处理财务、经济等需要排除周末和节假日的数据集而设计。

65-4、返回值

        返回一个Pandas DatetimeIndex对象,该对象包含了根据指定参数生成的日期范围,这些日期都是工作日,除非在holidays参数中明确指定了某些日期为非工作日。  

65-5、说明

        该函数为处理时间序列数据中的工作日提供了极大的便利,使得数据分析师和科学家能够更专注于数据的分析和解释,而无需担心日期的计算和筛选问题。

65-6、用法
65-6-1、数据准备
65-6-2、代码示例
# 65、pandas.bdate_range函数
import pandas as pd
# 生成从2024年1月1日到2024年12月31日的工作日日期范围
bdate_range = pd.bdate_range(start='2024-01-01', end='2024-12-31')
print(bdate_range)
65-6-3、结果输出
# 65、pandas.bdate_range函数
# DatetimeIndex(['2024-01-01', '2024-01-02', '2024-01-03', '2024-01-04',
#                '2024-01-05', '2024-01-08', '2024-01-09', '2024-01-10',
#                '2024-01-11', '2024-01-12',
#                ...
#                '2024-12-18', '2024-12-19', '2024-12-20', '2024-12-23',
#                '2024-12-24', '2024-12-25', '2024-12-26', '2024-12-27',
#                '2024-12-30', '2024-12-31'],
#               dtype='datetime64[ns]', length=262, freq='B')
66、pandas.period_range函数
66-1、语法
# 66、pandas.period_range函数
pandas.period_range(start=None, end=None, periods=None, freq=None, name=None)
Return a fixed frequency PeriodIndex.

The day (calendar) is the default frequency.

Parameters:
start
str, datetime, date, pandas.Timestamp, or period-like, default None
Left bound for generating periods.

end
str, datetime, date, pandas.Timestamp, or period-like, default None
Right bound for generating periods.

periods
int, default None
Number of periods to generate.

freq
str or DateOffset, optional
Frequency alias. By default the freq is taken from start or end if those are Period objects. Otherwise, the default is "D" for daily frequency.

name
str, default None
Name of the resulting PeriodIndex.

Returns:
PeriodIndex
66-2、参数

66-2-1、start(可选,默认值为None)str或Period对象,生成周期范围的起始点,如果指定了end和periods,则start是必需的。它应该是一个可以解析为周期的字符串(如'2023Q1'表示2023年的第一季度)或一个Period对象。

66-2-2、end(可选,默认值为None)str或Period对象,生成周期范围的结束点,如果指定了start和periods,则end是可选的。同样,它应该是一个可以解析为周期的字符串或一个Period对象。

66-2-3、periods(可选,默认值为None)int要生成的周期数,如果指定了start和end,则periods是可选的。

66-2-4、freq(可选,默认值为None)str或DateOffset对象,两个相邻周期之间的频率。常见的频率有 'Y'(年)、'Q'(季度)、'M'(月)、'D'(日)等,如果不指定,Pandas会尝试根据start和end(如果提供了)自动推断出频率。

66-2-5、name(可选,默认值为None)str返回的PeriodIndex的名称。

66-3、功能

        用于生成固定频率的PeriodIndex(周期索引)的一个功能强大的工具,该函数通过指定的起始点、结束点、周期数以及频率等参数,生成一个包含多个周期的索引序列,这些周期可以是年、季度、月、日等不同的时间单位。

66-4、返回值

        返回一个Pandas PeriodIndex对象,该对象包含了根据指定参数生成的周期范围。

66-5、说明

        无

66-6、用法
66-6-1、数据准备
66-6-2、代码示例
# 66、pandas.period_range函数
import pandas as pd
# 生成从2024年第一季度到2024年第四季度的季度周期索引
q_range = pd.period_range(start='2024Q1', end='2024Q4', freq='Q')
print(q_range, end='\n\n')
# 访问第一个周期
first_quarter = q_range[0]
print(first_quarter, end='\n\n')
print(q_range.freq)
66-6-3、结果输出 
# 66、pandas.period_range函数
# PeriodIndex(['2024Q1', '2024Q2', '2024Q3', '2024Q4'], dtype='period[Q-DEC]')
# 
# 2024Q1
# 
# <QuarterEnd: startingMonth=12>
67、pandas.timedelta_range函数
67-1、语法
# 67、pandas.timedelta_range函数
pandas.timedelta_range(start=None, end=None, periods=None, freq=None, name=None, closed=None, *, unit=None)
Return a fixed frequency TimedeltaIndex with day as the default.

Parameters:
startstr or timedelta-like, default None
Left bound for generating timedeltas.

endstr or timedelta-like, default None
Right bound for generating timedeltas.

periodsint, default None
Number of periods to generate.

freqstr, Timedelta, datetime.timedelta, or DateOffset, default ‘D’
Frequency strings can have multiples, e.g. ‘5h’.

namestr, default None
Name of the resulting TimedeltaIndex.

closedstr, default None
Make the interval closed with respect to the given frequency to the ‘left’, ‘right’, or both sides (None).

unitstr, default None
Specify the desired resolution of the result.

New in version 2.0.0.

Returns:
TimedeltaIndex
67-2、参数

67-2-1、start(可选,默认值为None)str或Timedelta,生成时间差范围的起始点,可以是表示时间差的字符串(如'1 days')或Timedelta对象,如果未指定,则必须指定periods参数。

67-2-2、end(可选,默认值为None)str或Timedelta,生成时间差范围的结束点,与start参数类似,可以是字符串或Timedelta对象,如果指定了end,则生成的时间差范围将包括这个结束点(取决于closed参数的值)。

67-2-3、periods(可选,默认值为None)int,时间差的数量,如果指定了periods,则生成的时间差范围将包含指定数量的等间隔时间差;如果同时指定了start和end,则periods可以被忽略或用于计算频率。

67-2-4、freq(可选,默认值为None)str或DateOffset,时间差的频率,可以是如'D'(天)、'H'(小时)、'T'(分钟)等频率字符串,或者是DateOffset对象。如果未指定,则频率将根据start、end和periods 参数自动计算(如果可能的话)。

67-2-5、name(可选,默认值为None)str,返回的TimedeltaIndex的名称。

67-2-6、closed(可选,默认值为None){'left', 'right'},指示区间是“左闭右开”('left')还是“左开右闭”('right'),这仅在同时指定了start和end时有效。默认是 'right',即区间包括结束点但不包括起始点(在逻辑上,因为时间差通常从0开始计数)。

67-2-7、unit(可选,默认值为None)从Pandas 1.1.0开始不推荐使用,因为freq参数已经足够灵活来指定时间差的单位,如果同时指定了freq和unit,freq将优先。

67-3、功能

        用于生成时间序列的时间差(timedelta)范围的一个函数,该函数允许你根据起始时间、结束时间、时间差的数量、时间频率等参数来创建一个TimedeltaIndex,这个索引包含了等间隔的时间差。

67-4、返回值

        返回值是一个Pandas TimedeltaIndex对象,该对象具有以下特点:

67-4-1、类型:TimedeltaIndex是Pandas中专门用于存储时间差索引的类型,它提供了丰富的日期时间操作功能。
67-4-2、内容:返回的TimedeltaIndex对象包含了根据指定参数生成的等间隔时间差序列,这些时间差按照指定的频率排列,并且每个时间差都对应着一个具体的时间长度(如1天、2小时等)。
67-4-3、属性:TimedeltaIndex对象具有多个属性,如dtype(数据类型,表示时间差的纳秒表示)、freq(频率,表示时间差的生成频率)、inferred_freq(推断的频率,当没有明确指定freq时,Pandas 会尝试推断时间差序列的频率)等,这些属性描述了时间差索引的基本信息。
67-4-4、操作:TimedeltaIndex对象支持多种操作,如索引、切片、算术运算(如加法、减法)等,这些操作使得用户能够方便地对时间差索引进行进一步的处理和分析。

67-5、说明

        无

67-6、用法
67-6-1、数据准备
67-6-2、代码示例
# 67、pandas.timedelta_range函数
# 67-1、使用start和periods
import pandas as pd
# 从0天0小时开始,生成包含5个时间差的序列,每个时间差为1天
td_range = pd.timedelta_range(start='0 days', periods=5, freq='D')
print(td_range, end='\n\n')

# 67-2、使用start、end和freq
import pandas as pd
# 从1小时开始,到10小时结束,每小时一个时间差
td_range = pd.timedelta_range(start='1 hours', end='10 hours', freq='H')
print(td_range, end='\n\n')

# 67-3、使用end和periods
import pandas as pd
# 从0天开始,到3天结束,包含4个时间差(注意:这里不直接指定freq,但Pandas会尝试推断)
td_range = pd.timedelta_range(end='3 days', periods=4)
print(td_range, end='\n\n')

# 67-4、指定name参数
import pandas as pd
# 生成时间差序列,并指定索引名称
td_range = pd.timedelta_range(start='0 days', periods=5, freq='D', name='Time_Differences')
print(td_range)
67-6-3、结果输出
# 67、pandas.timedelta_range函数
# 67-1、使用start和periods
# TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'], dtype='timedelta64[ns]', freq='D')

# 67-2、使用start、end和freq
# TimedeltaIndex(['0 days 01:00:00', '0 days 02:00:00', '0 days 03:00:00',
#                 '0 days 04:00:00', '0 days 05:00:00', '0 days 06:00:00',
#                 '0 days 07:00:00', '0 days 08:00:00', '0 days 09:00:00',
#                 '0 days 10:00:00'],
#                dtype='timedelta64[ns]', freq='h')

# 67-3、使用end和periods
# TimedeltaIndex(['0 days', '1 days', '2 days', '3 days'], dtype='timedelta64[ns]', freq='D')

# 67-4、指定name参数
# TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'], dtype='timedelta64[ns]', name='Time_Differences', freq='D')

二、推荐阅读

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Gooxi受邀参加第三届中国数据中心服务器与设备峰会

7月2-3日&#xff0c;第三届中国数据中心服务器与设备峰会在上海召开&#xff0c;作为国内最聚焦在服务器领域的专业峰会&#xff0c;吸引了来自全国的行业专家、服务器与机房设备厂家&#xff0c;企业IT用户&#xff0c;数据中心业主共同探讨AIGC时代下智算中心设备的设计之道…

【Linux】03.权限

一、权限的概念 Linux下有两种用户&#xff1a;超级用户&#xff08;root&#xff09;、普通用户。 超级用户&#xff1a;可以在 linux 系统下做任何事情&#xff0c;不受限制普通用户&#xff1a;在linux下做有限的事情超级用户的命令提示符是“#”&#xff0c;普通用户的命…

Linux驱动开发-04LED灯驱动实验(直接操作寄存器)

一、Linux 下LED 灯驱动原理 Linux 下的任何外设驱动&#xff0c;最终都是要配置相应的硬件寄存器。驱动访问底层的硬件除了使用内存映射将物理地址空间转化为虚拟地址空间&#xff0c;去进行读写修改&#xff0c;还可以通过各种子系统函数去进行操作 1.1 地址映射 MMU 全称…

JavaWeb后端学习

Web&#xff1a;全球局域网&#xff0c;万维网&#xff0c;能通过浏览器访问的网站 Maven Apache旗下的一个开源项目&#xff0c;是一款用于管理和构建Java项目的工具 作用&#xff1a; 依赖管理&#xff1a;方便快捷的管理项目以来的资源&#xff08;jar包&#xff09;&am…

vue2学习笔记5 - 表单类元素的单向数据绑定和双向数据绑定

前言 上一节我们学到&#xff0c;可以通过v-bind:指令&#xff0c;将标签体属性值通过js表达式绑定到vue实例中的某data上&#xff0c;读取该data数据&#xff0c;并通过vue模板中指定的页面元素&#xff0c;展示在页面上。 但是&#xff0c;我们在使用网页表单的时候&#x…

Ctrl+C、Ctrl+V、Ctrl+X 和 Ctrl+Z 的起源

注&#xff1a;机翻&#xff0c;未校对。 The Origins of CtrlC, CtrlV, CtrlX, and CtrlZ Explained We use them dozens of times a day: The CtrlZ, CtrlX, CtrlC, and CtrlV shortcuts that trigger Undo, Cut, Copy, and Paste. But where did they come from, and why do…

文件安全传输系统,如何保障信创环境下数据的安全传输?

文件安全传输系统是一套旨在保护数据在传输过程中的安全性和完整性的技术或解决方案。通常包括以下几个关键组件&#xff1a; 加密&#xff1a;使用强加密算法来确保文件在传输过程中不被未授权访问。 身份验证&#xff1a;确保只有授权用户才能访问或传输文件。 完整性校验…

怎样优化 PostgreSQL 中对复杂的排序规则和排序方向的查询?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 怎样优化 PostgreSQL 中对复杂的排序规则和排序方向的查询一、理解复杂排序规则和排序方向二、优化索引…

css - - - - - 去除图片默认的白色背景(混合模式 mix-blend-mode)

去除图片默认的白色背景&#xff08;mix-blend-mode&#xff09; 1. 需求描述2. 原图展示3. 原代码展示4. 使用混合模式(mix-blend-mode)5.修改后效果 1. 需求描述 图片含有白色地图&#xff0c;想要将其去掉 2. 原图展示 3. 原代码展示 <div><img src*****/> &…

负载箱如何帮助维持电气系统的最佳性能

负载箱在维持电气系统最佳性能方面发挥着至关重要的作用&#xff0c;以下是负载箱如何帮助维持电气系统最佳性能的详细分析&#xff1a; 一、保护电气设备 负载箱能够在电气系统中产生恒定的负载&#xff0c;使电气设备在正常工作状态下运行。这避免了因负载波动过大而导致的…

vue2迁移到vue3注意点

vue2迁移到vue3注意点 1、插槽的修改 使用 #default &#xff0c; 以及加上template 模板 2、 类型的定义&#xff0c;以及路由&#xff0c;vue相关资源&#xff08;ref, reactive,watch&#xff09;的引入等 3、类装饰器 1&#xff09;vue-class-component是vue官方库,作…

【unity实战】使用unity制作一个红点系统

前言 注意&#xff0c;本文是本人的学习笔记记录&#xff0c;这里先记录基本的代码&#xff0c;后面用到了再回来进行实现和整理 素材 https://assetstore.unity.com/packages/2d/gui/icons/2d-simple-ui-pack-218050 框架&#xff1a; RedPointSystem.cs using System.…

Jenkins 离线升级

1. 环境说明 环境 A: jenkins 版本&#xff1a;2.253使用 systemctl 管理的 jenkins 服务 环境 B&#xff1a; 可以上网的机器&#xff0c;装有 docker-compose docker 和 docker-compose 安装&#xff0c;这里都略了。 2. 安装旧版本 2.1 环境 A jenkins 目录打包文件 …

MySQL运维实战之ProxySQL(9.9)proxysql自身高可用

作者&#xff1a;俊达 proxysql作为一个程序&#xff0c;本身也可能出现故障。部署proxysql的服务器也肯能出现故障。高可用架构的一个基本原则是消除单点。 可以在多个节点上部署proxysql&#xff0c;在proxysql之前再加一层负载均衡&#xff08;如使用LVS或其他技术&#x…

Ubuntu 磁盘扩容

1.下载工具 sudo apt-get install gparted 2.调整大小

14、Python之super star:一颗星、两颗星,满天都是小星星

引言 关于Python系列的文章&#xff0c;已经通过两篇文章&#xff0c;介绍了Python中关于函数的简单使用&#xff0c;包括为什么要使用函数&#xff0c;以及函数中带默认值参数的使用注意事项。 之后&#xff0c;岔开函数的主题&#xff0c;通过几篇番外篇&#xff0c;重点谈…

什么是边缘计算技术和边缘计算平台?

随着物联网、5G技术和人工智能的不断发展&#xff0c;数据的规模和种类也在快速增加。在这种背景下&#xff0c;传统的云计算模式面临着一些问题&#xff0c;例如延迟高、网络拥塞等&#xff0c;这些问题限制了数据的处理速度和效率&#xff0c;降低了用户的使用体验。为了解决…

Zookeeper之CAP理论及分布式一致性算法

CAP理论 CAP理论告诉我们&#xff0c;一个分布式系统不可能同时满足以下三种 一致性&#xff08;C:consistency&#xff09;可用性&#xff08;A:Available&#xff09;分区容错性&#xff08;P:Partition Tolerance&#xff09; 这三个基本要求&#xff0c;最多只能同时满足…

ZGC的流程图

GC标记过程 1、初始标记 扫描所有线程栈的根节点&#xff0c;然后再扫描根节点直接引用的对象并进行标记。这个阶段需要停顿所有的应用线程&#xff08;STW&#xff09;&#xff0c;但由于只扫描根对象直接引用的对象&#xff0c;所以停顿时间很短。停顿时间高度依赖根节点的数…

Redis的使用(四)常见使用场景-缓存使用技巧

1.绪论 redis本质上就是一个缓存框架&#xff0c;所以我们需要研究如何使用redis来缓存数据&#xff0c;并且如何解决缓存中的常见问题&#xff0c;缓存穿透&#xff0c;缓存击穿&#xff0c;缓存雪崩&#xff0c;以及如何来解决缓存一致性问题。 2.缓存的优缺点 2.1 缓存的…