如何使用Pandas显示特定年份的星期几?

如何使用Pandas显示特定年份的星期几?

Pandas是一个旨在进行数据操作和分析的开源Python库。

它提供了强大的数据结构,如Series(一维标记数组)和DataFrame(二维标记数组),可以处理各种类型的数据和操作,例如从/到各种文件格式读写数据、合并、筛选、聚合和透视数据,以及处理缺失或重复数据等。

Pandas还支持时间序列数据,并提供广泛的数据可视化能力。它的易用性、多功能性和性能使其成为数据科学家和分析师进行探索性数据分析、数据清洗和特征工程任务的流行选择。

我们知道,一年有52个星期。在我们的情况下,我们想知道某一周的某一天的日期是什么。Pandas可以非常有用,他们只需要几行代码就可以为我们提供所有日期。

语法

要在Pandas中显示特定年份的星期几,请按照以下语法进行操作 −

range_of_dates = pandas.date_range(start, periods, freq)
result = pandas.Series(range_of_dates)
print(result)
Bash

该语法使用pandas.date_range()函数创建一个日期范围,并使用生成的日期范围创建一个Pandas系列,其中使用pandas.Series()函数。

_pandas.daterange() 函数需要三个参数 −

  • start − 范围的开始日期。

  • periods − 范围内的周期数。

  • freq − 范围的频率。

生成的日期范围存储在range_of_dates变量中。然后使用pandas.Series()函数使用range_of_dates变量创建一个名为result的Pandas系列。

示例

此代码使用别名pd导入Pandas库。将字符串day和yy定义为变量。代码然后使用这些变量创建一个日期范围,从指定在yy变量中的年份的1月1日开始,在每周的特定星期几的频率下持续52周。最后我们得到所有星期一出现在2023年的日期。

具体来说,使用pd.date_range()函数创建日期范围,将开始日期设置为yy+’-01-01’,表示在yy变量中指定的年份的1月1日。将周期参数设置为52,以创建持续52周的日期范围。将freq参数设置为’W-‘+(day[:3]).lower(),其中(day[:3]).lower()提取day字符串的前三个字符并将其转换为小写字母,’W-‘代表以特定星期几结束的一周,结果是特定星期几的每周频率。

生成的日期范围存储在range_of_dates变量中,然后将其作为参数传递给pd.Series()函数,以创建一个名为result的Pandas系列。然后使用result变量名称在输出中显示result变量。

import pandas as pd
day = "monday"
yy = "2023"
range_of_dates = pd.date_range(yy+'-01-01',periods=52, freq=('W-'+(day[:3]).lower()))
result = pd.Series(range_of_dates)
print(result)
Bash

输出

0    2023-01-02
1    2023-01-09
2    2023-01-16
3    2023-01-23
4    2023-01-30
5    2023-02-06
6    2023-02-13
7    2023-02-20
8    2023-02-27
9    2023-03-06
10   2023-03-13
11   2023-03-20
12   2023-03-27
13   2023-04-03
14   2023-04-10
15   2023-04-17
16   2023-04-24
17   2023-05-01
18   2023-05-08
19   2023-05-15
20   2023-05-22
21   2023-05-29
22   2023-06-05
23   2023-06-12
24   2023-06-19
25   2023-06-26
26   2023-07-03
27   2023-07-10
28   2023-07-17
29   2023-07-24
30   2023-07-31
31   2023-08-07
32   2023-08-14
33   2023-08-21
34   2023-08-28
35   2023-09-04
36   2023-09-11
37   2023-09-18
38   2023-09-25
39   2023-10-02
40   2023-10-09
41   2023-10-16
42   2023-10-23
43   2023-10-30
44   2023-11-06
45   2023-11-13
46   2023-11-20
47   2023-11-27
48   2023-12-04
49   2023-12-11
50   2023-12-18
51   2023-12-25
dtype: datetime64[ns]
Bash

示例

此代码与先前的代码相似,但对变量day和yr进行了一些更改。具体来说,将day设为全部大写的“FRIDAY”,将year设置为“2023”。

该代码还使用pd.date_range()函数创建了一系列日期,从yr变量中指定的年份的1月1日开始,共52个周期,并以特定的一周中的一天的频率(在这种情况下为星期五)使用字符串格式’W-‘+(day[:3])。lower()指定频率,该方法提取日中字符串的前三个字符,使用lower()方法将它们转换为小写,并将它们附加到“W-”,表示每周在特定一天的周频率。

生成的日期范围存储在range_of_dates变量中,然后将其作为参数传递给pd.Series()函数,以创建名为result的Pandas系列。最后,在输出中显示结果变量。

import pandas as pd
day = "FRIDAY"
yr = "2023"
range_of_dates = pd.date_range(yr+'-01-01', periods=52, freq=('W-'+(day[:3]).lower()))
result = pd.Series(range_of_dates)
print(result)
Bash

输出

0    2023-01-06
1    2023-01-13
2    2023-01-20
3    2023-01-27
4    2023-02-03
5    2023-02-10
6    2023-02-17
7    2023-02-24
8    2023-03-03
9    2023-03-10
10   2023-03-17
11   2023-03-24
12   2023-03-31
13   2023-04-07
14   2023-04-14
15   2023-04-21
16   2023-04-28
17   2023-05-05
18   2023-05-12
19   2023-05-19
20   2023-05-26
21   2023-06-02
22   2023-06-09
23   2023-06-16
24   2023-06-23
25   2023-06-30
26   2023-07-07
27   2023-07-14
28   2023-07-21
29   2023-07-28
30   2023-08-04
31   2023-08-11
32   2023-08-18
33   2023-08-25
34   2023-09-01
35   2023-09-08
36   2023-09-15
37   2023-09-22
38   2023-09-29
39   2023-10-06
40   2023-10-13
41   2023-10-20
42   2023-10-27
43   2023-11-03
44   2023-11-10
45   2023-11-17
46   2023-11-24
47   2023-12-01
48   2023-12-08
49   2023-12-15
50   2023-12-22
51   2023-12-29
dtype: datetime64[ns]
Bash

结论

我们学习了如何使用Pandas显示特定年份的星期几。使用Pandas显示特定年份的星期几是一个有用的练习,它展示了如何生成具有特定频率的日期范围,并提供了时间趋势和模式的洞见。使用其直观和灵活的语法,Pandas是任何处理时间序列数据的数据分析师或科学家的必备工具。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册