按时间过滤Pandas数据框架

  • Post category:Python

当我们在进行Pandas数据分析的时候,经常需要按照时间来对数据进行过滤和分析。而Pandas提供了非常强大的处理时间数据的工具,下面将为大家讲解按时间过滤Pandas数据框架的完整攻略。

1. 准备数据

首先,我们需要准备一份时间序列数据,可以使用Pandas中的date_range()函数来生成一个时间范围,然后利用随机函数生成一些数据点,具体示例如下:

import pandas as pd
import numpy as np

# 生成一组时间范围
rng = pd.date_range('1/1/2021', periods=100, freq='D')

# 随机生成一些数据点
data = np.random.randint(0, 100, size=(100, 4))

# 将数据转换成DataFrame格式
df = pd.DataFrame(data, index=rng, columns=['A', 'B', 'C', 'D'])

以上代码会生成一份100天的时间序列数据,每天包含4个随机数据点。

2. 按年、月、日、小时等单位过滤数据

接下来,我们可以按照年、月、日、小时等不同时间单位来过滤和分析数据。示例如下:

2.1 按年份过滤数据

如果我们想要按照年份来过滤数据,可以使用下面的代码:

# 按年份过滤数据
df.loc['2021']

以上代码会返回所有2021年的数据点。

2.2 按月份过滤数据

如果我们想要按照月份来过滤数据,可以使用下面的代码:

# 按月份过滤数据
df.loc['2021-01']

以上代码会返回所有2021年1月份的数据点。

2.3 按天数过滤数据

如果我们想要按照某一天的数据,可以使用下面的代码:

# 按天数过滤数据
df.loc['2021-01-15']

以上代码会返回2021年1月15日的所有数据点。

2.4 按小时过滤数据

如果我们想要按照某一天的某个小时来过滤数据,可以使用下面的代码:

# 按小时过滤数据
df.loc['2021-01-15 07']

以上代码会返回2021年1月15日7点的所有数据点。

3. 按时间范围过滤数据

除了按照时间单位来过滤数据之外,我们还可以按照某个时间范围来过滤数据。示例如下:

# 按照时间范围来过滤数据
df.loc['2021-01-15':'2021-02-15']

以上代码会返回2021年1月15日到2月15日之间的所有数据点。

4. 结束语

以上就是按照时间过滤Pandas数据框架的完整攻略,希望能够对大家进行Pandas时间数据分析时有所帮助。