Pandas 时间段

2024 年 8 月 29 日 | 阅读 2 分钟

时间周期代表时间跨度,例如天、年、季度或月等。它被定义为一个类,允许我们将频率转换为周期。

生成周期和频率转换

我们可以使用频率为 'M' 的 'Period' 命令来生成周期。如果我们使用 'asfreq' 操作和 'start' 选项,日期将打印 '01',而如果我们使用 'end' 选项,日期将打印 '31'。

示例

输出

Period('2014-01-01', 'D')

示例

输出

Period('2014-01-31', 'D')

周期算术

周期算术用于对周期执行各种算术运算。所有操作都将基于 'freq' 执行。

输出

Period('2014', 'Q-DEC')

示例

输出

Period('2015', 'Q-DEC')

创建周期范围

我们可以使用 'period_range' 命令创建周期范围。

输出

PeriodIndex(['2012-01-02', '2012-01-03', '2012-01-04', '2012-01-05',
             '2012-01-06', '2012-01-09', '2012-01-10', '2012-01-11',
             '2012-01-12', '2012-01-13',
             '2016-12-20', '2016-12-21', '2016-12-22', '2016-12-23',
             '2016-12-26', '2016-12-27', '2016-12-28', '2016-12-29',
             '2016-12-30', '2017-01-02'],
            dtype='period[B]', length=1306, freq='B')

将字符串日期转换为周期

如果要将字符串日期转换为周期,首先需要将字符串转换为日期格式,然后才能将日期转换为周期。

输出

DatetimeIndex(['2012-06-05', '2011-07-09', '2012-04-06'], dtype='datetime64[ns]', freq=None)

将周期转换为时间戳

如果将周期转换回时间戳,我们可以简单地使用 'to_timestamp' 命令来完成。

输出

DatetimeIndex(['2017-04-02', '2016-04-06', '2016-05-08'], dtype='datetime64[ns]', freq=None)