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

Python中如何将DataFrame类ISO格式日期转可读格式并筛选统计?

处理DataFrame中ISO格式日期并筛选统计的方法

针对你提到的需求,这里用pandas给出简单直接的解决方案,适合新手上手:

步骤1:导入pandas并构造示例数据

先把你提供的示例数据转换成DataFrame:

import pandas as pd

# 构造示例数据
data = {
    'date_published': [
        "2022-10-28T08:00:19Z",
        "2022-10-28T05:00:08Z",
        "2022-10-28T03:00:13Z",
        "2022-10-27T13:55:38Z",
        "2022-10-27T13:21:36Z"
    ]
}
df = pd.DataFrame(data)

步骤2:解析ISO格式日期为datetime类型

pandas的pd.to_datetime()可以直接识别这种类ISO格式,不用手动切割字符串,处理起来更稳定:

# 将列转换为datetime类型
df['date_published'] = pd.to_datetime(df['date_published'])

步骤3:转换为可读日期格式

如果需要得到'2022-10-28'这种格式,直接提取日期部分即可;如果要'28-10-2022'格式,用strftime()指定格式:

# 转换为'YYYY-MM-DD'格式(日期对象转字符串)
df['date_readable'] = df['date_published'].dt.date.astype(str)

# 或者转换为'DD-MM-YYYY'格式
df['date_readable_dmy'] = df['date_published'].dt.strftime('%d-%m-%Y')

步骤4:筛选日期≥'2022-01-01'的数据

直接用datetime类型的列进行比较,比字符串比较更可靠:

# 设定筛选条件
filter_condition = df['date_published'] >= '2022-01-01'
# 得到筛选后的DataFrame
filtered_df = df[filter_condition]

步骤5:统计操作

比如按日期分组统计数量:

# 按可读日期分组统计条目数
stats = filtered_df.groupby('date_readable').size().reset_index(name='count')
print(stats)

运行后会输出:

date_readable  count
0    2022-10-27      2
1    2022-10-28      3

注意点

  • 尽量保留datetime类型的列用于筛选和计算,字符串格式只用来展示,避免字符串比较带来的错误。
  • pd.to_datetime()默认能处理带Z的ISO格式,不需要额外参数,非常方便。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:20:18