首页 > 后端开发 > Python教程 > 如何按日期范围过滤 Pandas DataFrame 行?

如何按日期范围过滤 Pandas DataFrame 行?

Susan Sarandon
发布: 2024-12-29 10:03:09
原创
352 人浏览过

How to Filter Pandas DataFrame Rows by Date Range?

检索指定日期范围内的 DataFrame 行

问题:

从包含以下内容的 CSV 文件创建 Pandas DataFrame日期栏。任务是仅提取日期值落在指定日期范围内或两个指定日期之间的行。

解决方案:

有两种方法可以实现此目的:

选项 1:布尔值掩码

  1. 确保日期列采用 datetime64[ns] 格式。
  2. 使用日期范围条件创建布尔掩码。
  3. 选择所需的行使用df.loc[mask].

示例:

import pandas as pd

df = pd.read_csv('data.csv', parse_dates=['date'])

start_date = '2022-01-01'
end_date = '2022-02-28'

mask = (df['date'] >= start_date) & (df['date'] <= end_date)
df_filtered = df.loc[mask]
登录后复制

选项 2:DatetimeIndex

  1. 设置日期列作为 DataFrame 的索引。
  2. 使用df.loc[start_date : end_date] 检索所需的行。

示例:

df = pd.read_csv('data.csv', parse_dates=['date'])
df = df.set_index(['date'])

df_filtered = df.loc[start_date : end_date]
登录后复制

注意: 如果在读取 CSV 时使用了 parse_dates ,不需要将日期列转换为 datetime64。

以上是如何按日期范围过滤 Pandas DataFrame 行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板