欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas日期處理之生成工作日與節(jié)假日

 更新時(shí)間:2023年05月07日 11:53:07   作者:黃昏中起飛的貓頭鷹  
Python中的Pandas 提供了許多日期處理功能,使得處理時(shí)間序列數(shù)據(jù)變得容易。本文將介紹如何使用 Pandas 生成工作日和節(jié)假日,感興趣的小伙伴可以收藏一下

Pandas 提供了許多日期處理功能,使得處理時(shí)間序列數(shù)據(jù)變得容易。本文將介紹如何使用 Pandas 生成工作日和節(jié)假日。在進(jìn)行實(shí)際操作前,請確保已安裝了 Pandas 庫。安裝方法如下:

pip install pandas

1. 生成工作日

要生成一年中的工作日,我們可以使用 pandas.bdate_range 函數(shù)。例如,要生成 2023 年的工作日,可以使用以下代碼:

import pandas as pd

start_date = '2023-01-01'
end_date = '2023-12-31'

business_days = pd.bdate_range(start=start_date, end=end_date)
print(business_days)

接下來,我們將展示如何從數(shù)據(jù)中去除工作日。首先,假設(shè)我們有如下數(shù)據(jù):

date_range = pd.date_range(start=start_date, end=end_date)
data = pd.DataFrame(date_range, columns=['date'])

接著,我們可以使用 pandas.DataFrame.isin 函數(shù)找到數(shù)據(jù)中的工作日,并使用 ~ 運(yùn)算符將這些工作日從數(shù)據(jù)中去除。

non_business_days = data[~data['date'].isin(business_days)]
print(non_business_days)

2. 生成節(jié)假日

我們可以使用 Pandas 中的 AbstractHolidayCalendar 類和 Holiday 類來創(chuàng)建自定義節(jié)假日。以下是一個(gè)包含2023年部分中國節(jié)假日的示例:

from pandas.tseries.holiday import AbstractHolidayCalendar, Holiday
import pandas as pd

class ChinaHolidaysCalendar(AbstractHolidayCalendar):
    rules = [
        Holiday('元旦', month=1, day=1),
        Holiday('元旦', month=1, day=2),
        Holiday('元旦', month=1, day=3),
        Holiday('春節(jié)', month=1, day=21),
        Holiday('春節(jié)', month=1, day=22),
        # 同樣的方法添加其他節(jié)假日
    ]

start_date = '2023-01-01'
end_date = '2023-12-31'

china_holidays_calendar = ChinaHolidaysCalendar()
holidays = china_holidays_calendar.holidays(start_date, end_date)
print(holidays)

現(xiàn)在我們已經(jīng)生成了2023年包含多天的中國節(jié)假日,接下來我們將從數(shù)據(jù)中去除這些節(jié)假日。首先,假設(shè)我們有如下數(shù)據(jù):

date_range = pd.date_range(start=start_date, end=end_date)
data = pd.DataFrame(date_range, columns=['date'])

接下來,我們可以使用 pandas.DataFrame.isin 函數(shù)找到數(shù)據(jù)中的節(jié)假日,并使用 ~ 運(yùn)算符將這些節(jié)假日從數(shù)據(jù)中去除。

non_holidays = data[~data['date'].isin(holidays)]
print(non_holidays)

至此,我們已經(jīng)成功地使用 Pandas 生成了工作日和節(jié)假日,并從數(shù)據(jù)中去除了這些日期。請注意,這個(gè)例子只包含了部分節(jié)假日,實(shí)際應(yīng)用時(shí)請根據(jù)實(shí)際情況進(jìn)行調(diào)整。

3. Pandas 日期處理知識點(diǎn)

創(chuàng)建日期范圍: 使用 pd.date_range 函數(shù)可以創(chuàng)建日期范圍。例如,要生成從2023年1月1日到2023年12月31日的日期范圍,可以使用以下代碼:

date_range = pd.date_range(start='2023-01-01', end='2023-12-31')

日期偏移量: Pandas 提供了 DateOffset 類,可以用于對日期執(zhí)行各種算術(shù)運(yùn)算。例如,要將日期向前推一天,可以使用以下代碼:

from pandas.tseries.offsets import DateOffset
date = pd.Timestamp('2023-01-01')
new_date = date + DateOffset(days=1)

重采樣時(shí)間序列數(shù)據(jù): 使用 pd.DataFrame.resample 函數(shù)可以將時(shí)間序列數(shù)據(jù)按照指定頻率進(jìn)行重新采樣。例如,要將按天采樣的數(shù)據(jù)轉(zhuǎn)換為按月采樣的數(shù)據(jù),可以使用以下代碼:

resampled_data = data.resample('M').mean()

滾動(dòng)窗口操作: 使用 pd.DataFrame.rolling 函數(shù)可以對時(shí)間序列數(shù)據(jù)執(zhí)行滾動(dòng)窗口操作。例如,要計(jì)算7天滾動(dòng)平均值,可以使用以下代碼:

rolling_mean = data.rolling(window=7).mean()

日期格式化: 使用 pd.Timestamp.strftime 函數(shù)可以將日期格式化為字符串。例如,要將日期格式化為 “YYYY-MM-DD” 的格式,可以使用以下代碼:

formatted_date = pd.Timestamp('2023-01-01').strftime('%Y-%m-%d')

到此這篇關(guān)于Pandas日期處理之生成工作日與節(jié)假日的文章就介紹到這了,更多相關(guān)Pandas日期處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python之glob的用法詳解

    python之glob的用法詳解

    glob?是?Python?中用于文件模式匹配的一個(gè)模塊,本文主要介紹了python之glob的用法詳解,具有一定的參考價(jià)值,感興趣的可以來了解一下
    2023-12-12
  • python中dot函數(shù)運(yùn)算過程總結(jié)

    python中dot函數(shù)運(yùn)算過程總結(jié)

    dot函數(shù)為numpy庫下的一個(gè)函數(shù),主要用于矩陣的乘法運(yùn)算,其中包括:向量內(nèi)積、多維矩陣乘法和矩陣與向量的乘法,下面這篇文章主要給大家介紹了關(guān)于python中dot函數(shù)運(yùn)算過程的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • python使用threading.Condition交替打印兩個(gè)字符

    python使用threading.Condition交替打印兩個(gè)字符

    這篇文章主要為大家詳細(xì)介紹了python使用threading.Condition交替打印兩個(gè)字符,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Python中的sort()方法使用基礎(chǔ)教程

    Python中的sort()方法使用基礎(chǔ)教程

    這篇文章主要介紹了Python中的sort()方法使用基礎(chǔ)教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-01-01
  • python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(二)

    python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(二)

    這篇文章主要介紹了python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(二),文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Windows64x下VScode下載過程

    Windows64x下VScode下載過程

    這篇文章主要介紹了Windows64x下VScode下載,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • python中利用numpy.array()實(shí)現(xiàn)倆個(gè)數(shù)值列表的對應(yīng)相加方法

    python中利用numpy.array()實(shí)現(xiàn)倆個(gè)數(shù)值列表的對應(yīng)相加方法

    今天小編就為大家分享一篇python中利用numpy.array()實(shí)現(xiàn)倆個(gè)數(shù)值列表的對應(yīng)相加方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python實(shí)現(xiàn)網(wǎng)站用戶名密碼自動(dòng)登錄功能

    python實(shí)現(xiàn)網(wǎng)站用戶名密碼自動(dòng)登錄功能

    最近接到這樣的需求通過網(wǎng)頁用戶認(rèn)證登錄實(shí)現(xiàn)上網(wǎng),如何實(shí)現(xiàn)網(wǎng)站自動(dòng)登錄功能呢,接下來小編給大家?guī)砹藀ython實(shí)現(xiàn)網(wǎng)站用戶名密碼自動(dòng)登錄功能,需要的朋友可以參考下
    2019-08-08
  • 利用python獲取Ping結(jié)果示例代碼

    利用python獲取Ping結(jié)果示例代碼

    這篇文章主要給大家介紹了關(guān)于利用python獲取Ping結(jié)果的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考價(jià)值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • 實(shí)現(xiàn)Python圖形界面框架TkInter寫GUI界面應(yīng)用簡介過程操作

    實(shí)現(xiàn)Python圖形界面框架TkInter寫GUI界面應(yīng)用簡介過程操作

    TkInter是Python用于開發(fā)GUI界面的標(biāo)準(zhǔn)庫,如果你想快速開發(fā)一個(gè)帶有GUI界面的小工具(笑小程序),且又能同時(shí)在Linux、Windows、Mac上使用,TkInter天生支持跨平臺,天生具備穩(wěn)定性,我認(rèn)為它能滿足內(nèi)部工具的簡單需求
    2021-09-09

最新評論