📅  最后修改于: 2023-12-03 15:28:21.559000             🧑  作者: Mango
在处理时间序列数据时,我们经常需要从数据框中选择两个日期之间的行。本文介绍如何使用 Pandas 轻松地实现这一功能。
首先,我们需要确保日期列已经被识别为 Datetime 类型。假设数据框名为 df
,日期列名为 date
,我们可以使用如下代码将其转换为 Datetime 类型:
df['date'] = pd.to_datetime(df['date'])
接下来,我们可以使用 Pandas 的比较运算符筛选两个日期之间的行。例如,如果我们想选择 2021 年 1 月 1 日和 2021 年 1 月 31 日之间的行,可以使用如下代码:
start_date = '2021-01-01'
end_date = '2021-01-31'
mask = (df['date'] >= start_date) & (df['date'] <= end_date)
df_between_dates = df.loc[mask]
这里的 mask
是一个布尔型数组,表示每一行是否满足条件。我们可以使用这个数组来选择符合条件的行。
最后,我们可以使用 Pandas 的 loc
方法选择符合条件的行,并将其赋值给一个新的数据框 df_between_dates
。
需要注意的是,日期字符串的格式应该与 Pandas 中的 Datetime 格式相同。如果不同,我们需要在 pd.to_datetime()
中指定格式参数。
下面是完整的代码片段:
import pandas as pd
# load data
df = pd.read_csv('data.csv')
# convert date column to Datetime type
df['date'] = pd.to_datetime(df['date'])
# select rows between start_date and end_date
start_date = '2021-01-01'
end_date = '2021-01-31'
mask = (df['date'] >= start_date) & (df['date'] <= end_date)
df_between_dates = df.loc[mask]
以上就是选择两个日期之间的 Pandas 数据框行的介绍。希望对你有所帮助!