📜  panda 获取日期范围内的行 - Python (1)

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

Pandas 获取日期范围内的行 - Python

简介

在使用 Pandas 进行数据处理的时候,经常需要按照日期来筛选数据。在 Pandas 中,可以使用日期相关的函数来获取指定日期范围内的行数据。

方法

Pandas 中可以使用 pd.date_range() 函数来生成时间索引,然后使用 .loc.iloc 来选取指定日期范围内的行数据。

import pandas as pd

# 创建数据
dates = pd.date_range(start='2021-01-01', end='2021-01-31', freq='D')
df = pd.DataFrame({'date': dates, 'value': range(len(dates))})

# 选取指定日期范围内的行数据
start_date = pd.to_datetime('2021-01-10')
end_date = pd.to_datetime('2021-01-20')
df.loc[(df['date'] >= start_date) & (df['date'] <= end_date)]

这里使用 pd.date_range() 函数生成所有日期,然后将日期和数值组成一个 Pandas DataFrame。然后使用 .loc 来筛选指定日期范围内的行数据。

我们也可以使用 .iloc 来选取指定行号范围内的行数据。例如,我们可以按照以下方式来选取 2021-01-102021-01-20 之间的数据:

start_index = df[df['date'] == start_date].index[0]
end_index = df[df['date'] == end_date].index[0]
df.iloc[start_index:end_index+1]
结论

Pandas 中使用 .loc.iloc 可以轻松地选取指定日期范围内的行数据。同时,在使用这些函数之前,我们需要通过 pd.date_range() 函数来生成时间索引。