Pandas 如何显示某年的星期几
Pandas是一个开源的Python库,旨在进行数据操作和分析。
它提供了强大的数据结构,如Series(1维标签数组)和DataFrame(2维标签数组),可以处理不同类型的数据和操作,例如从/到各种文件格式的读取和写入数据,合并、过滤、聚合和透视数据,以及处理丢失或重复的数据。
Pandas还支持时间序列数据,并提供广泛的数据可视化功能。它的易用性、多功能性和性能使其成为数据科学家和分析师在探索性数据分析、数据清洗和特征工程任务中的常选之一。
我们知道一年有52周。在我们的情况下,我们想知道特定年份某一天是星期几。 Pandas可以非常有帮助地解决我们的问题,只需要几行代码就可以提供我们所需的所有日期。
语法
要在Pandas中显示某年的星期几,需要遵循以下语法 –
range_of_dates = pandas.date_range(start, periods, freq)
result = pandas.Series(range_of_dates)
print(result)
该语法使用pandas.date_range()函数创建了一个日期范围,并使用结果日期范围使用pandas.Series()函数创建了一个Pandas系列。
pandas.date_range()函数接受三个参数 –
- start - 范围的起始日期。
- periods - 范围中的周期数。
- freq - 范围的频率。
生成的日期范围存储在range_of_dates变量中。然后,使用pandas.Series()函数使用range_of_dates变量创建了一个名为result的Pandas系列。
示例
此代码通过别名pd导入了Pandas库。将变量day和yy定义为字符串。然后,使用这些变量创建了一个日期范围,该范围为52周,起始日期为yy变量中指定的年份的1月1日,频率为每周的特定星期几指定为day变量。最后,我们得到了2023年中所有星期一的日期。
具体来说,pd.date_range()函数用于创建一个日期范围,起始日期设置为yy+’-01-01’,表示yy变量中指定年份的1月1日。periods参数设置为52,以创建52周的日期范围。freq参数设置为’W-‘+(day[:3]).lower(),其中(day[:3]).lower()提取day字符串的前三个字符并将它们转换为小写,’W-‘表示以一周的特定星期几结束,从而导致在指定星期几的每周频率。
生成的日期范围存储在range_of_dates变量中,然后将其作为参数传递给pd.Series()函数,以创建一个名为result的Pandas系列。然后,将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)
输出
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]
示例
这段代码与之前的代码类似,但对变量day和yr进行了一些更改。具体而言,day现在被设置为全部大写的”FRIDAY”,而year则被设置为”2023″。
代码还使用pd.date_range()函数创建了一个日期范围,从yr变量指定的年份的1月1日开始,共有52个周期,频率为每周的特定星期几(在这种情况下是星期五)。频率使用字符串格式’W-‘+(day[:3]).lower()指定,它提取字符串day的前三个字符,使用lower()方法将它们转换为小写,并将它们附加到’W-‘,表示每周频率的特定星期几。
生成的日期范围存储在range_of_dates变量中,然后将其作为参数传递给pd.Series()函数,以创建名为result的Pandas系列。最后,在输出中显示result变量。
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)
输出
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]
结论
我们学习了如何使用Pandas显示特定年份的星期几。使用Pandas显示特定年份的星期几是一个有用的练习,它展示了如何生成具有特定频率的日期范围,并提供了对时间内模式和趋势的洞察。凭借其直观灵活的语法,Pandas是任何处理时间序列数据的数据分析师或科学家的必备工具。