📜  在 python 中创建一个日期值数组(1)

📅  最后修改于: 2023-12-03 15:07:46.399000             🧑  作者: Mango

在 Python 中创建一个日期值数组

在 Python 中,我们可以使用 datetime 模块来创建日期、时间、时间戳等各种时间类型,并且可以进行各种时间计算和格式化操作。

1. 使用 datetime 模块创建日期值数组

要创建一个日期值数组,我们可以使用 datetime.timedelta 类来代表时间间隔,然后通过循环来生成日期:

from datetime import date, timedelta

start_date = date(2022, 1, 1)
end_date = date(2022, 1, 31)
delta = timedelta(days=1)
dates = []

while start_date <= end_date:
    dates.append(start_date)
    start_date += delta

print(dates)

输出:

[datetime.date(2022, 1, 1), datetime.date(2022, 1, 2), datetime.date(2022, 1, 3), ...]

在上面的代码中,我们首先定义了开始日期和结束日期,然后定义了一个时间间隔 delta,接着定义了一个空数组 dates,然后通过循环来逐个生成日期并添加到数组中。

2. 使用 NumPy 创建日期值数组

另外,我们还可以使用 NumPy 中的 numpy.datetime64 类来创建日期值数组。与 date 类不同的是,datetime64 可以表示更为精确的时间,包括秒、毫秒、微秒、纳秒等级别的时间。

import numpy as np

start_date = np.datetime64('2022-01-01')
end_date = np.datetime64('2022-01-31')
dates = np.arange(start_date, end_date, np.timedelta64(1, 'D'))

print(dates)

输出:

['2022-01-01' '2022-01-02' '2022-01-03' ...]

在上面的代码中,我们首先定义了开始日期和结束日期,并使用 np.datetime64 函数将日期字符串转换为 datetime64 类型。接着使用 np.arange 函数生成时间间隔为一天的日期序列,并将其存储在 dates 变量中。

3. 使用 Pandas 创建日期值数组

除了 NumPy,还可以使用 Pandas 中的 pd.date_range 函数来创建日期值数组。这个函数可以非常灵活地生成不同时间间隔的日期序列,并且可以进行滚动、偏移等等操作。

import pandas as pd

start_date = '2022-01-01'
end_date = '2022-01-31'
dates = pd.date_range(start=start_date, end=end_date, freq='D')

print(dates)

输出:

DatetimeIndex(['2022-01-01', '2022-01-02', '2022-01-03', ...], dtype='datetime64[ns]', length=31, freq='D')

在上面的代码中,我们直接使用了字符串类型的日期,并使用 pd.date_range 函数生成时间间隔为一天的日期序列,并将其存储在 dates 变量中。

总结

以上就是在 Python 中创建日期值数组的三种方式。无论是使用 datetime、NumPy 还是 Pandas,它们都可以轻松创建出任意时间间隔的日期序列,并进行各种时间计算和格式化操作。