如何在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
相关产品推荐
相关产品推荐

