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

news2024/9/21 12:30:08

目录

一、用法精讲

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、博客个人主页

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

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

相关文章

SoulApp创始人张璐团队以AI驱动社交进化,平台社交玩法大变革

在科技飞速发展的今天,人工智能正逐步渗透到社交媒体的各个环节,赋能全链路社交体验。AI的引入不仅提升了内容推荐的精准度,使用户能够更快速地发现感兴趣的内容,还能通过用户行为预测,帮助平台更好地理解和满足用户需求。此外,AI驱动的虚拟助手和聊天机器人也正在改变用户互动…

MATLAB quiver矢量图 设置colorbar

给三维矢量图按照不同高度设置箭头颜色 figure clf X surfaceuz(:,1); Y surfaceuz(:,2); Z surfaceuz(:,3); hold onzcolor jet; % qquiver3(X,Y,Z,X,Y,W) for i 1:length(surfaceuz)quiver3(X(i),Y(i),Z(i),X(i),Y(i), Z(i),...Color,zcolor(floor((Z(i) - -0.1) * 2…

在Mac上免费恢复误删除的Word文档

Microsoft Word for Mac是一个有用的文字处理应用程序&#xff0c;它与Microsoft Office套件捆绑在一起。该软件的稳定版本包括 Word 2019、2016、2011 等。 Word for Mac 与 Apple Pages 兼容;这允许在不同的操作系统版本中使用Word文档&#xff0c;而不会遇到任何麻烦。 与…

【异常解决】Unable to start embedded Tomcat Nacos 启动报错

Unable to start embedded Tomcat Nacos 启动报错解决方案 一、背景描述二、原因分析三、解决方案 一、背景描述 Windows 本地启动 Nacos&#xff08;2.2.0&#xff09; 服务&#xff0c;控制台报错 Unable to start embedded Tomcat。 报错信息&#xff1a;Unable to start …

AI绘画入门实践|Midjourney 提示词的使用技巧

提示词长短 尽可能做到简洁明了。 提示词很短 MJ 出图的随机性更高&#xff0c;创造的内容更有想象力&#xff0c;更适合创意发散的图像生成。 a dog 提示词很长 MJ 出图会更加精准&#xff0c;但描述太过详细&#xff0c;有可能出现AI理解不到位的情况。 越到后面的提示词&…

HTML+CSS+JS实现轮播图

效果&#xff1a; HTML: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>&l…

关于java的反射

❓❓❓反射是啥呀相信许多学java的同学非常困惑在学的时候&#xff0c;总是感觉懂了却又没懂或者直接忽略过去了&#xff0c;那么本文就带大家探讨一下什么是反射在java中以及它的机制和运用。 ⭐️什么是反射&#xff1a; 首先我们知道一些知识&#xff1a; 维基百科的解释 …

2024-07-15 Unity插件 Odin Inspector4 —— Collection Attributes

文章目录 1 说明2 集合相关特性2.1 DictionaryDrawerSettings2.2 ListDrawerSettings2.3 TableColumnWidth2.4 TableList2.5 TableMatrix 1 说明 ​ 本文介绍 Odin Inspector 插件中集合&#xff08;Dictionary、List&#xff09;相关特性的使用方法。 2 集合相关特性 2.1 D…

《Programming from the Ground Up》阅读笔记:p49-p74

《Programming from the Ground Up》学习第3天&#xff0c;p49-p74总结&#xff0c;总计26页。 一、技术总结 1.function (1)定义 p49, Functions are unit of code that do a defined piece of work on specified types of data。 函数是在指定类型的数据上完成所定义的某…

【Qt 常用控件】

文章目录 1. Push Button 1. Push Button &#x1f427;给按钮设置图标

供应链管理(SCM):如何在颜值和体验上发力

要在供应链管理系统&#xff08;SCM&#xff09;中在颜值和体验上发力&#xff0c;让用户感觉耳目一新&#xff0c;可以采取以下措施&#xff1a; 界面设计优化&#xff1a; 对供应链管理系统的界面进行优化&#xff0c;注重界面的美观、简洁和易用性。采用现代化的设计风格、…

Catena-x标准解读:CX-0001 EDC Discovery API v1.0.2 EDC发现API

随着Catena-X网络的扩展&#xff0c;大量数据资产将通过EDC连接技术提供。在网络中有效地识别正确的EDC端点可能很困难。 为了符合GAIA-X标准&#xff0c;每个EDC端点必须提供ServiceOffering类型的自我描述&#xff08;SD&#xff09;。基于这些SD&#xff0c;必须提供数据和…

可视化作品集(14)智慧旅游和智慧景区,洞悉一切。

智慧旅游和智慧景区的可视化大屏可以带来以下几个方面的好处&#xff1a; 1. 提升游客体验&#xff1a; 通过可视化大屏&#xff0c;游客可以方便地获取到景区地图、交通信息、景点介绍、活动安排等信息&#xff0c;帮助游客更好地规划行程&#xff0c;提升游览体验。 2. 提供…

手写new

手写new new是什么执行new会发生什么实现new new是什么 new 操作符是可以创建一个用户定义的对象的实例或具有构造函数的内置对象的实例 function Car (make, model, year) {this.make makethis.model modelthis.year year } Car.prototype.running function () {return …

Zynq系列FPGA实现SDI编解码转SFP光口传输(光端机),基于GTX高速接口,提供6套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案在Xilinx-Kintex7上的应用 3、详细设计方案设计原理框图输入Sensor之-->OV5640摄像头输入Sensor之-->HDMIVDMA图像缓存RGB转BT1120GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGBHDMI输…

实习随笔【iviews的Select实现‘与全部互斥’的多选】

在实习中&#xff0c;遇到了如下需求&#xff0c;要求如下&#xff1a; 上面提到了一个需求为&#xff0c;选择全部与选择一个或者多个互斥&#xff0c;我们来看一下如何解决 核心代码 监听value的变化&#xff0c;如果含有‘全部’&#xff0c;且数组长度>1&#xff0c;则删…

Redis面试问题一

Redis在面试中有很大的概率会问到&#xff0c;因此我们一定要学会回答此方面的问题。 Redis主要涉及到使用场景已经一些其他方面的问题。 下面是有可能涉及到的问题。 问题一&#xff1a;你最近的项目中那些场景用到了Redis呢&#xff1f; 需要结合简历项目上的业务进行具体…

Rust 通过 Deref trait 将智能指针当作常规引用处理

通过 Deref trait 将智能指针当作常规引用处理 实现 Deref trait 允许我们重载 解引用运算符&#xff08;dereference operator&#xff09;*&#xff08;与乘法运算符或通配符相区别&#xff09;。通过这种方式实现 Deref trait 的智能指针可以被当作常规引用来对待&#xff…

WPF+MvvmLight 项目入门完整教程(一)

WPF+MvvmLight入门完整教程一 创建项目MvvmLight框架安装完善整个项目的目录结构创建自定义的字体资源下载更新和使用字体资源创建项目 打开VS2022,点击创建新项目,选择**WPF应用(.NET Framework)** 创建一个名称为 CommonProject_DeskTop 的项目,如下图所示:MvvmLight框架…

SQL Server 2019安装详细教程(图文详解,非常靠谱)

Microsoft SQL Server 是一种关系数据库管理系统 (RDBMS)。 应用程序和工具连接到 SQL Server 实例或数据库&#xff0c;并使用 Transact-SQL (T-SQL) 进行通信。 SQL Server Management Studio (SSMS) 是一种集成环境&#xff0c;用于管理任何 SQL 基础结构。 使用 SSMS 访问、…