Python 使用Pandas显示给定年份的所有星期日

Python 使用Pandas显示给定年份的所有星期日

Pandas是一个强大的Python数据处理和分析库。Pandas的一个关键特性是它能够有效地处理日期和时间数据。在本文中,我们将展示如何使用Pandas显示给定年份的所有星期日。

在本文中,我们将探讨如何使用Pandas,一种流行的Python数据处理库,来显示给定年份的所有星期日。我们将逐步介绍提取一年中的星期日并以可读格式显示它们的过程。

先决条件

在开始之前,请确保您的计算机上安装了Pandas。您可以在终端中运行以下命令来安装它 –

pip install pandas
Getting Started

在Python中使用Pandas

首先,我们将导入Pandas库并创建一个Pandas DataFrame来保存一年的日期。我们将使用date_range函数来生成一年的日期范围。以下是生成2023年日期范围的代码−

import pandas as pd
year = 2023
start_date = pd.to_datetime(f'{year}-01-01')
end_date = pd.to_datetime(f'{year}-12-31')
dates = pd.date_range(start_date, end_date)

我们使用pd.to_datetime函数创建了一个start_date和一个end_date对象。dates变量使用pd.date_range函数创建,该函数生成从start_date到end_date的日期范围。

提取星期日

要从日期范围中提取星期日,我们将使用Pandas提供的dt访问器。dt访问器提供了各种方法来操作Pandas DataFrame中的日期和时间值。我们将使用dt访问器的day_name方法来获取dates DataFrame中每个日期的星期几名称。以下是提取星期日的代码:

sundays = dates[dates.dt.day_name() == 'Sunday']

dates.dt.day_name()方法返回dates DataFrame中每个日期的星期几。然后,我们对dates DataFrame进行过滤,只获取星期日的行。

显示星期日

为了以可读的方式显示星期日,我们将使用dt访问器的strftime方法。strftime方法用于格式化Pandas DataFrame的日期和时间值。以下是显示星期日的代码−

for sunday in sundays:
   print(sunday.strftime('%Y-%m-%d'))

strftime(’%Y-%m-%d’)方法将日期格式化为YYYY-MM-DD格式。然后我们循环遍历sundays DataFrame,并以所需格式打印每个星期日。

最终代码

以下是显示2023年所有星期日的完整代码 –

import pandas as pd
year = 2023
start_date = pd.to_datetime(f'{year}-01-01')
end_date = pd.to_datetime(f'{year}-12-31')
dates = pd.date_range(start_date, end_date)
sundays = dates[dates.dt.day_name() == 'Sunday']
for sunday in sundays:
   print(sunday.strftime('%Y-%m-%d'))

输出

DatetimeIndex(['2023-01-01', '2023-01-08', '2023-01-15', '2023-01-22',
               '2023-01-29', '2023-02-05', '2023-02-12', '2023-02-19',
               '2023-02-26', '2023-03-05', '2023-03-12', '2023-03-19',
               '2023-03-26', '2023-04-02', '2023-04-09', '2023-04-16',
               '2023-04-23', '2023-04-30', '2023-05-07', '2023-05-14',
               '2023-05-21', '2023-05-28', '2023-06-04', '2023-06-11',
               '2023-06-18', '2023-06-25', '2023-07-02', '2023-07-09',
               '2023-07-16', '2023-07-23', '2023-07-30', '2023-08-06',
               '2023-08-13', '2023-08-20', '2023-08-27', '2023-09-03',
               '2023-09-10', '2023-09-17', '2023-09-24', '2023-10-01',
               '2023-10-08', '2023-10-15', '2023-10-22', '2023-10-29',
               '2023-11-05', '2023-11-12', '2023-11-19', '2023-11-26',
               '2023-12-03', '2023-12-10', '2023-12-17', '2023-12-24',
               '2023-12-31'],
              dtype='datetime64[ns]', freq=None)>

使用Pandas显示给定年份的所有星期日

要显示给定年份的所有星期日,我们首先需要创建一个横跨整个年份的Pandas DataFrame。然后我们可以对这个DataFrame进行过滤,只包括星期日。

以下是完成此任务的Python代码。让我们逐步解析代码−

  • 使用 import 语句导入Pandas库。

  • 使用 pd.date_range() 函数创建一个横跨整个年份的日期范围。我们使用start和end参数指定开始和结束日期。将’2022’替换为所需的年份。

  • 通过使用日期范围的 .weekday 属性来过滤日期范围,该属性以整数形式返回星期几(星期一=0,星期二=1,等等)。星期日用整数6表示。

  • 将过滤后的日期范围存储在名为 sundays 的变量中。

  • 最后,通过在 sundays 变量上调用 print() 函数来打印星期日列表。

import pandas as pd
# Replace '2022' with the desired year
date_range = pd.date_range(start='1/1/2022', end='12/31/2022')
# Filter the date range to only include Sundays
sundays = date_range[date_range.weekday == 6]
# Print the list of Sundays
print(sundays)

输出

当您运行以上代码时,您应该看到给定年份中所有星期日的列表−

DatetimeIndex(['2022-01-02', '2022-01-09', '2022-01-16', '2022-01-23',
               '2022-01-30', '2022-02-06', '2022-02-13', '2022-02-20',
               '2022-02-27', '2022-03-06', '2022-03-13', '2022-03-20',
               '2022-03-27', '2022-04-03', '2022-04-10', '2022-04-17',
               '2022-04-24', '2022-05-01', '2022-05-08', '2022-05-15',
               '2022-05-22', '2022-05-29', '2022-06-05', '2022-06-12',
               '2022-06-19', '2022-06-26', '2022-07-03', '2022-07-10',
               '2022-07-17', '2022-07-24', '2022-07-31', '2022-08-07',
               '2022-08-14', '2022-08-21', '2022-08-28', '2022-09-04',
               '2022-09-11', '2022-09-18', '2022-09-25', '2022-10-02',
               '2022-10-09', '2022-10-16', '2022-10-23', '2022-10-30',
               '2022-11-06', '2022-11-13', '2022-11-20', '2022-11-27',
               '2022-12-04', '2022-12-11', '2022-12-18', '2022-12-25'],
              dtype='datetime64[ns]', freq=None)

结论

在本文中,我们通过使用Pandas来提取和显示给定年份的所有星期日。我们使用了Pandas库的date_range、dt和strftime方法来生成一系列日期,提取星期日,并以可读的格式显示它们。Pandas为Python中的日期和时间值提供了强大而灵活的操作方式,使其成为数据分析和可视化的有用工具。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程