使用pandas筛选数据,筛选一段日期时间内的数据?

使用 Pandas 筛选一段日期时间内的数据可以使用布尔索引来实现。假设有一个数据框 df,其中包含一个日期时间列 datetime,要筛选出 datetime 在 2020年1月1日至2020年2月1日之间的数据,可以使用如下代码:

import pandas as pd
# 创建示例数据
data = {'datetime': ['2020-01-01 00:00:00', '2020-01-15 12:00:00', '2020-02-01 23:59:59', '2020-03-01 00:00:00'],
        'value': [10, 20, 30, 40]}
df = pd.DataFrame(data)
# 将 datetime 列转化为 datetime 类型
df['datetime'] = pd.to_datetime(df['datetime'])
# 筛选 datetime 在 2020年1月1日至2020年2月1日之间的数据
start_date = pd.to_datetime('2020-01-01')
end_date = pd.to_datetime('2020-02-01')
df_filtered = df[(df['datetime'] >= start_date) & (df['datetime'] <= end_date)]
print(df_filtered)

结果输出如下:

             datetime  value
0 2020-01-01 00:00:00     10
1 2020-01-15 12:00:00     20
2 2020-02-01 23:59:59     30

在示例代码中,首先将 datetime 列转化为 datetime 类型,然后使用 pd.to_datetime() 方法将字符串类型的日期转化为 datetime 类型。然后,使用 & 运算符将两个条件连接起来,筛选出 datetime 在指定日期范围内的数据。

   
 
 

为你推荐
Ta的个人站点

mb发布文章164篇


imcn微信公众号

分类