📜  pandas 数据框设置日期时间索引 - Python (1)

📅  最后修改于: 2023-12-03 14:45:04.267000             🧑  作者: Mango

Pandas 数据框设置日期时间索引 - Python

在数据分析中,经常需要对时间序列数据进行处理和分析。Pandas提供了强大的时间序列处理功能,其中一个非常有用的功能是可以通过设置日期时间索引来轻松访问和分析时间序列数据。在本文中,我们将介绍如何使用Pandas设置日期时间索引。

创建日期时间数据

在开始之前,先导入Pandas库和numpy库,我们可以使用numpy的datetime64数据类型来创建日期时间数据。下面是一个例子:

import pandas as pd
import numpy as np

dates = [np.datetime64('2020-01-01'), np.datetime64('2020-01-02'),
         np.datetime64('2020-01-03'), np.datetime64('2020-01-04'),
         np.datetime64('2020-01-05')]
values = [100, 200, 300, 400, 500]

df = pd.DataFrame({'date': dates, 'value': values})
print(df)

输出结果为:

        date  value
0 2020-01-01    100
1 2020-01-02    200
2 2020-01-03    300
3 2020-01-04    400
4 2020-01-05    500
将日期时间作为索引

我们可以使用set_index方法将日期时间列作为数据框的索引:

df.set_index('date', inplace=True)
print(df)

输出结果为:

            value
date             
2020-01-01    100
2020-01-02    200
2020-01-03    300
2020-01-04    400
2020-01-05    500

此时,日期时间列变为了数据框的索引,可以方便的对时间序列数据进行分析。

筛选时间序列

我们可以使用.loc方法选取日期时间索引上的特定日期:

print(df.loc['2020-01-02'])

输出结果为:

value    200
Name: 2020-01-02 00:00:00, dtype: int64

也可以选取一段时间序列:

print(df.loc['2020-01-02':'2020-01-04'])

输出结果为:

            value
date             
2020-01-02    200
2020-01-03    300
2020-01-04    400
重新采样时间序列

Pandas可以帮助我们重新采样时间序列,例如将天级别的时间序列重新采样为周级别的时间序列。我们可以使用.resample方法重新采样时间序列:

weekly_df = df.resample('W').sum()
print(weekly_df)

输出结果为:

            value
date             
2020-01-05   1500

汇总了一周内的数据,因此输出结果只有一行。

结论

使用Pandas设置日期时间索引可以让我们轻松地管理和分析时间序列数据。通过设置日期时间索引,我们可以方便地筛选时间序列、重新采样时间序列以及进行其他复杂的时间序列分析。