【Pandas】一文向您详细介绍 pd.date_range()

【Pandas】一文向您详细介绍 pd.date_range()
 
下滑即可查看博客内容
在这里插入图片描述

🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇

🎓 博主简介985高校的普通本硕,曾有幸发表过人工智能领域的 中科院顶刊一作论文,熟练掌握PyTorch框架

🔧 技术专长: 在CVNLP多模态等领域有丰富的项目实战经验。已累计提供近千次定制化产品服务,助力用户少走弯路、提高效率,近一年好评率100%

📝 博客风采: 积极分享关于深度学习、PyTorch、Python相关的实用内容。已发表原创文章500余篇,代码分享次数逾六万次

💡 服务项目:包括但不限于科研辅导知识付费咨询以及为用户需求提供定制化解决方案

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


下滑即可查看博客内容

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  

📅一、引言

  在数据处理和分析中,时间序列数据是非常常见的。Pandas库中的pd.date_range()函数为我们提供了一个强大而灵活的工具,用于生成时间序列。本文将带您深入了解pd.date_range()函数的用法和特性,帮助您更好地处理时间序列数据。

🔍二、pd.date_range()基础用法

  pd.date_range()函数的基本用法是生成一个时间序列的日期范围。它接受起始日期、结束日期和频率等参数,并返回一个DatetimeIndex对象。

示例代码

import pandas as pd

# 生成从2023年1月1日到2023年1月10日的日期范围,频率为日
date_range = pd.date_range(start='2023-01-01', end='2023-01-10', freq='D')
print(date_range)

输出结果

DatetimeIndex(['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04',
               '2023-01-05', '2023-01-06', '2023-01-07', '2023-01-08',
               '2023-01-09', '2023-01-10'],
              dtype='datetime64[ns]', freq='D')

📆三、频率参数详解

  pd.date_range()函数中的freq参数用于指定时间序列的频率。Pandas支持多种频率,包括’D’(天)、‘H’(小时)、‘M’(分钟)、‘S’(秒)等。此外,还可以使用如’W-MON’(每周一)或’MS’(每月的第一天)等复杂频率。

示例代码

# 生成从2023年1月1日开始,频率为每周一的日期范围
weekly_mon = pd.date_range(start='2023-01-01', periods=4, freq='W-MON')
print(weekly_mon)

# 生成从2023年1月开始,频率为每月第一天的日期范围
monthly_start = pd.date_range(start='2023-01-01', periods=12, freq='MS')
print(monthly_start)

输出结果

DatetimeIndex(['2023-01-02', '2023-01-09', '2023-01-16', '2023-01-23'], dtype='datetime64[ns]', freq='W-MON')
DatetimeIndex(['2023-01-01', '2023-02-01', '2023-03-01', '2023-04-01',
               '2023-05-01', '2023-06-01', '2023-07-01', '2023-08-01',
               '2023-09-01', '2023-10-01', '2023-11-01', '2023-12-01'],
              dtype='datetime64[ns]', freq='MS')

💡四、pd.date_range()在实际应用中的例子

  了解了pd.date_range()的基础用法后,让我们来看一个在实际应用中的例子,如何使用它来生成一个股票市场的交易日历。

示例代码

import pandas as pd

# 为了简化,我们只考虑周末不是交易日
# 生成一个从2023年1月1日到2023年12月31日的日期范围,包括周末
full_year = pd.date_range(start='2023-01-01', end='2023-12-31', freq='D')

# 定义一个函数判断是否为周末
def is_weekend(date):
    return date.weekday() >= 5  # 周六和周日是5和6

# 使用列表推导式过滤出非周末的日期
trading_days = [date for date in full_year if not is_weekend(date)]

# 将过滤后的日期转换为DatetimeIndex对象
trading_calendar = pd.DatetimeIndex(trading_days)
print(trading_calendar)

输出结果

DatetimeIndex(['2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05',
               '2023-01-06', '2023-01-09', '2023-01-10', '2023-01-11',
               '2023-01-12', '2023-01-13',
               ...
               '2023-12-18', '2023-12-19', '2023-12-20', '2023-12-21',
               '2023-12-22', '2023-12-25', '2023-12-26', '2023-12-27',
               '2023-12-28', '2023-12-29'],
              dtype='datetime64[ns]', length=260, freq=None)

🔚五、总结与展望

  在本文中,我们深入探讨了Pandas库中pd.date_range()函数的强大功能和多种用法。我们从基础用法出发,逐步介绍了频率参数,以及pd.date_range()在实际应用中的例子。

  希望通过本文的介绍,读者能够对pd.date_range()函数有更深入的了解,并能够在实际应用中灵活运用它来处理时间序列数据。同时,我们也希望读者能够持续关注Pandas库和时间序列分析领域的最新动态,不断提升自己的数据处理和分析能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高斯小哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值