如何将Pandas中object类型的日期列转换为date类型?
将Object类型的年月列转换为Date类型的解决方案
你的Period列采用YYYY/MM的标准年月格式,这种格式不会对转换操作造成阻碍,以下是两种常用场景的处理方法:
基于Pandas的Python处理
- 直接转换为datetime类型:
import pandas as pd # 假设数据存储在DataFrame df中 df['Period'] = pd.to_datetime(df['Period'])
- 若仅需保留年月维度(而非完整日期),可转换为周期类型:
df['Period'] = pd.to_datetime(df['Period']).dt.to_period('M')
数据库端直接转换(以MySQL为例)
通过SQL函数完成格式转换并修改列类型:
-- 先验证转换结果(可选) SELECT STR_TO_DATE(Period, '%Y/%m') FROM your_table; -- 修改列类型并更新数据 ALTER TABLE your_table MODIFY COLUMN Period DATE; UPDATE your_table SET Period = STR_TO_DATE(Period, '%Y/%m');
注意:执行修改表结构的操作前,建议先备份数据,避免意外数据丢失。
内容的提问来源于stack exchange,提问作者Dante
相关产品推荐
相关产品推荐

