You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中object类型日期时间列的转换与过滤方法求助

解决方案

核心结论

必须先将Timestamp列从object类型转换为datetime类型。字符串(object)无法直接进行日期逻辑比较,只有转为datetime类型后,才能高效完成日期筛选、提取日期部分等操作。

完整步骤与代码示例

假设你的DataFrame名为df,以下是具体操作:

  1. 转换Timestamp列为datetime类型
import pandas as pd

# 创建示例DataFrame(匹配你提供的数据)
data = {
    'Timestamp': ['8/21/2023 12:00:00 AM', '11/22/2023 12:00:00 AM', '3/7/2022 12:00:00 AM'],
    'Value': ['a', 'b', 'c']
}
df = pd.DataFrame(data)

# 转换为datetime类型
df['Timestamp'] = pd.to_datetime(df['Timestamp'])
  1. 提取日期部分(移除时间)
    有两种常用方式:
  • 方式一:保留datetime类型(仅去除时间,日期仍为datetime格式)
df['Timestamp'] = df['Timestamp'].dt.normalize()  # 等价于 df['Timestamp'].dt.floor('D')
  • 方式二:转为字符串格式的日期(如YYYY-MM-DD)
df['Timestamp'] = df['Timestamp'].dt.strftime('%Y-%m-%d')
  1. 筛选2022年6月1日之前的数据
    推荐基于datetime类型列进行筛选(逻辑更严谨):
filtered_df = df[df['Timestamp'] < pd.Timestamp('2022-06-01')]

最终结果

执行上述操作后,filtered_df的输出为:

Timestamp Value
0 2022-03-07     c

内容的提问来源于stack exchange,提问作者aditya tandel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 22:12:34