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

如何在Python Pandas中转换DataFrame值格式、数据类型及列表值格式?

Python Pandas 日期格式转换实现方案

一、处理DataFrame的col1列(转为datetime64类型并统一显示格式)

你的col1列包含多种分隔符的日期字符串,先将其转换为datetime64类型,再设置显示格式为dd-mm-yyyy:

import pandas as pd

# 假设你的DataFrame名为df
# 第一步:将字符串转为datetime64类型,dayfirst=True确保日在前的格式被正确识别
df['col1'] = pd.to_datetime(df['col1'], dayfirst=True)

# 第二步:设置Pandas日期显示格式为"23-11-2020"样式
pd.options.display.date_format = '%d-%m-%Y'

执行后,col1的数据类型为datetime64[ns],且在DataFrame中显示为dd-mm-yyyy格式。

二、处理my_list列表(统一转为"dd.mm.yyyy"格式)

列表中的日期字符串分隔符不统一,可借助dateutil.parser自动识别格式,再转换为指定样式:

from dateutil import parser

my_list = ["23.11.2020", "22/12/2021", "04-12-2019"]
# 遍历列表转换每个元素
formatted_my_list = [parser.parse(date_str, dayfirst=True).strftime('%d.%m.%Y') for date_str in my_list]

如果不想依赖dateutil,也可以通过判断分隔符手动处理:

from datetime import datetime

formatted_my_list = []
for date_str in my_list:
    if '.' in date_str:
        dt = datetime.strptime(date_str, '%d.%m.%Y')
    elif '/' in date_str:
        dt = datetime.strptime(date_str, '%d/%m/%Y')
    elif '-' in date_str:
        dt = datetime.strptime(date_str, '%d-%m-%Y')
    formatted_my_list.append(dt.strftime('%d.%m.%Y'))

执行后formatted_my_list即为统一格式的日期列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 03:54:27