如何标准化DataFrame列中的日期格式?
高效统一DataFrame日期列格式的方法
别用for循环处理大数据量的日期转换,直接用pandas的矢量化操作,效率能提升几个数量级,步骤如下:
- 将日期列转换为datetime类型
pd.to_datetime可以自动识别你提到的两种日期格式,并且是批量处理,比循环快得多:
import pandas as pd # 替换成你的DataFrame和日期列名 df['date_column'] = pd.to_datetime(df['date_column'])
- 转换为统一格式
用dt.strftime将datetime类型转成你需要的格式:
- 如果想要全称格式(如
Wednesday, March 16, 2023):
df['date_column'] = df['date_column'].dt.strftime('%A, %B %d, %Y')
- 如果想要缩写格式(如
Wed, Mar 16 2023):
df['date_column'] = df['date_column'].dt.strftime('%a, %b %d %Y')
完整示例
# 模拟包含两种日期格式的DataFrame sample_data = { 'date': [ 'Wednesday, March 16, 2023', 'Wed, Mar 16 2023', 'Friday, May 05, 2023', 'Fri, May 05 2023' ] } df = pd.DataFrame(sample_data) # 转换并统一格式 df['date'] = pd.to_datetime(df['date']) df['date'] = df['date'].dt.strftime('%A, %B %d, %Y') print(df)
输出结果:
date 0 Wednesday, March 16, 2023 1 Wednesday, March 16, 2023 2 Friday, May 05, 2023 3 Friday, May 05, 2023
原理:pandas的矢量化操作是基于C语言实现的内部循环,避免了Python层面for循环的性能开销,大数据量下优势极其明显。
内容的提问来源于stack exchange,提问作者Ed_1883
相关产品推荐
相关产品推荐

