📅  最后修改于: 2023-12-03 15:36:52.784000             🧑  作者: Mango
Pandas 是一个强大的数据分析工具,它提供了很多方便的方法来处理时间序列数据。在本篇文章中,我们将介绍如何使用 Pandas 来创建一个 TimeSeries,以显示给定年份的所有星期日。
首先,导入 Pandas 模块,确保已安装 Pandas 模块。
import pandas as pd
我们可以在 Pandas 中使用 date_range()
方法来生成时间序列。该方法需要指定一个起始日期和一个结束日期,然后它将返回一个日期范围索引。我们将使用该方法来生成一个日期范围索引,其中所有的日期都是给定年份的星期日。
year = 2022
start_date = str(year) + '-01-01'
end_date = str(year) + '-12-31'
s = pd.date_range(start=start_date, end=end_date, freq='W-SUN')
我们指定了时间范围为该年的1月1日到12月31日,并使用 'W-SUN'
字符串来指定时间间隔。这告诉 Pandas 我们想要以星期日为间隔生成时间序列。
我们现在可以使用 Series()
方法来创建 Pandas TimeSeries,我们将日期范围索引作为输入数据,将星期日作为索引标签。这将使我们可以轻松地访问给定年份的所有星期日。
ts = pd.Series(s, index=s).apply(lambda x: x.date())
我们用 apply()
方法来获取日期范围索引中的每个日期,并将结果转换为日期类型。现在,我们的 Pandas TimeSeries 对象包含了给定年份的所有星期日。
我们可以使用 print()
语句来打印结果。下面是打印给定年份的所有星期日的代码:
print(ts)
以下是完整代码示例:
import pandas as pd
year = 2022
start_date = str(year) + '-01-01'
end_date = str(year) + '-12-31'
s = pd.date_range(start=start_date, end=end_date, freq='W-SUN')
ts = pd.Series(s, index=s).apply(lambda x: x.date())
print(ts)
输出结果将看起来像这样:
2022-01-02 2022-01-02
2022-01-09 2022-01-09
2022-01-16 2022-01-16
2022-01-23 2022-01-23
2022-01-30 2022-01-30
...
2022-12-04 2022-12-04
2022-12-11 2022-12-11
2022-12-18 2022-12-18
2022-12-25 2022-12-25
Freq: W-SUN, Length: 53, dtype: object
我们可以看到,代码已成功生成给定年份的所有星期日。