最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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()

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

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)文章

最新評論

东乡族自治县| 雷波县| 微博| 宽城| 那曲县| 仲巴县| 连云港市| 聊城市| 通州市| 西藏| 当阳市| 磐石市| 金乡县| 长春市| 麻江县| 独山县| 昭苏县| 乡宁县| 弋阳县| 岑巩县| 通许县| 九江市| 陆良县| 宜章县| 昂仁县| 阳山县| 丰镇市| 米林县| 汶川县| 永年县| 威远县| 平乐县| 三亚市| 深泽县| 邵阳市| 阿拉尔市| 景德镇市| 都江堰市| 太仓市| 宁远县| 中山市|