一天一行显示的2024年1月到12月的周末和法定节假日的表格形式
1条回答 默认 最新
关注让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
如果答案让您满意,请采纳、关注,非常感谢!
当然可以!要创建一个包含2024年1月至12月的周末(星期六和星期日)以及中国法定节假日的表格,我们可以使用Python中的`pandas`和`datetime`库来实现。法定节假日
根据中国的法定节假日,2024年的主要节日包括: - 元旦:1月1日(星期一) - 春节:2月10日(星期六)至2月17日(星期六),调休假期是2月9日(星期五)至2月11日、2月17日(星期六)至2月18日(星期日) - 清明节:4月4日(星期四) - 劳动节:5月1日(星期三),调休假期是4月29日(星期一)至5月1日、5月4日(星期六)至5月5日(星期日) - 端午节:6月10日(星期一),调休假期是6月8日(星期六)至6月9日(星期日) - 中秋节:9月17日(星期二),调休假期是9月14日(星期六)至9月15日(星期日) - 国庆节:10月1日(星期二)至10月7日(星期一),调休假期是9月29日(星期日)、10月5日(星期六)、10月6日(星期日)
实现代码
下面是Python代码,显示按照要求格式化的表格。
import pandas as pd import numpy as np from datetime import datetime, timedelta # 定义要显示的年份和法定节假日 year = 2024 holidays = [ "2024-01-01", "2024-02-10", "2024-02-11", "2024-02-12", "2024-02-13", "2024-02-14", "2024-02-15", "2024-02-16", "2024-02-17", "2024-04-04", "2024-04-29", "2024-04-30", "2024-05-01", "2024-05-04", "2024-05-05", "2024-06-08", "2024-06-09", "2024-06-10", "2024-09-14", "2024-09-15", "2024-09-17", "2024-09-29", "2024-10-01", "2024-10-02", "2024-10-03", "2024-10-04", "2024-10-05", "2024-10-06", "2024-10-07" ] # 创建所有日期的列表 start_date = datetime(year, 1, 1) end_date = datetime(year, 12, 31) date_range = pd.date_range(start_date, end_date) # 创建一个DataFrame df = pd.DataFrame(date_range, columns=["Date"]) # 获取星期几 df["Weekday"] = df["Date"].dt.day_name() # 标记周末和节假日 df["Is_Weekend"] = np.where(df["Weekday"].isin(["Saturday", "Sunday"]), "Weekend", "") df["Is_Holiday"] = np.where(df["Date"].isin(pd.to_datetime(holidays)), "Holiday", "") # 过滤周末和假期 df_filtered = df[(df["Is_Weekend"] == "Weekend") | (df["Is_Holiday"] == "Holiday")] # 仅显示日期和假期/周末类型 df_final = df_filtered[["Date", "Is_Weekend", "Is_Holiday"]] # 填充表格形式 df_final["Type"] = df_final["Is_Holiday"].replace("", " ").combine_first(df_final["Is_Weekend"]) # 打印结果 print(df_final[["Date", "Type"]].to_string(index=False))代码说明
holidays列表存储了2024年的法定节假日。- 我们首先生成了2024年所有的日期,然后通过检查日期的星期几来判断是否为周末。
- 使用DataFrame的方式来处理数据,并标记周末和法定节假日。
- 最后,打印出符合条件的日期和类型。 运行这段代码后,你将会得到2024年每个周末和法定节假日的表格形式的输出。
解决 无用评论 打赏 举报