使用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
在指定日期范围内的数据。
为你推荐