如何删除DataFrame中指定时间戳之前的所有数据行?
实现方案
- 先将
date列转换为pandas datetime格式,避免字符串比较出现异常,若startdatetime为字符串格式也同步转换:
import pandas as pd # 转换date列数据类型 df["date"] = pd.to_datetime(df["date"]) # 若startdatetime是字符串,执行下一行转换格式 startdatetime = pd.to_datetime(startdatetime)
- 用布尔索引筛选符合时间要求的行即可:
# 直接覆盖原DataFrame df = df[df["date"] >= startdatetime] # 如需保留原数据,可赋值给新变量 # df_new = df[df["date"] >= startdatetime].reset_index(drop=True)
小提示:末尾加
.reset_index(drop=True)可清除原有行序号,重置为从0开始的连续索引。
样例输出
你给出的测试数据处理后结果如下:
date 2 2021-07-19 11:30:30 3 2021-07-19 11:30:45 4 2021-07-19 11:31:00
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

