关键词

按时间过滤Pandas数据框架

当我们需要在Pandas数据框架中根据时间进行筛选和过滤时,我们通常使用两个重要的概念:索引和切片。通过这两个概念,我们可以轻松地对数据框架进行按时间段的筛选。下面是详细的攻略。

1. 生成时间索引

首先,我们需要生成时间索引。Pandas的date_range()函数可以用于生成一组时间序列。

import pandas as pd

# 生成一个包含30天时间序列的DataFrame
datelist = pd.date_range('2021-01-01', periods=30)
df = pd.DataFrame({'date': datelist})

上述代码中,我们首先使用date_range()函数生成了从2021年1月1日开始的30天时间序列。接着,我们将其转化为数据框架,并将其保存在变量df中。

2. 将时间索引设置为DataFrame的索引

设置时间索引后,我们需要将其设置为数据框架的索引。通过设置索引,我们可以轻松地在时间范围内筛选数据。

# 将'date'列设置为DataFrame的索引
df.set_index('date', inplace=True)

上述代码中,我们使用set_index()函数将date列设置为数据框架的索引。

3. 按时间过滤

接下来,我们可以使用切片来按时间段过滤数据。切片的写法与Python中的List或者Numpy中array的切片类似。

# 选择2021年1月的数据
df['2021-01']

# 选择2021年1月1日到1月15日的数据
df['2021-01-01':'2021-01-15']

上述代码中,我们使用了方括号[]进行切片,可以根据不同的时间段进行数据过滤。

4. 示例

import pandas as pd

# 生成一个包含30天时间序列的DataFrame
datelist = pd.date_range('2021-01-01', periods=30)
df = pd.DataFrame({'date': datelist, 'value': range(30)})

# 将'date'列设置为DataFrame的索引
df.set_index('date', inplace=True)

# 选择2021年1月1日到1月15日的数据
df_jan = df['2021-01-01':'2021-01-15']

# 输出结果
print(df_jan)

上述代码中,我们生成了一个包含30天时间序列的数据框架,并将其转化为时间索引。接着,我们使用切片来选择1月1日到1月15日的数据,并将其保存在变量df_jan中。最后,我们通过print()函数输出结果。

输出结果为:

            value
date             
2021-01-01      0
2021-01-02      1
2021-01-03      2
2021-01-04      3
2021-01-05      4
2021-01-06      5
2021-01-07      6
2021-01-08      7
2021-01-09      8
2021-01-10      9
2021-01-11     10
2021-01-12     11
2021-01-13     12
2021-01-14     13
2021-01-15     14

从结果可以看出,我们成功地按时间过滤了数据,并得到了所需的结果。

本文链接:http://task.lmcjl.com/news/17311.html

展开阅读全文