如何将表格中数值型年份列转换为01-01-年份格式的日期类型
整数年份列转日期类型解决方案
以下分别提供R、Python两种常用数据分析语言的实现方式:
R 语言实现
方法1:使用lubridate包的ymd函数(最简便)
通过字符串拼接补全1月1日的固定后缀后直接转日期:
library(dplyr) library(lubridate) # 替换df为你的数据框名称 df <- df %>% mutate(date_col = ymd(paste(year, "01", "01", sep = "-")))
如果需要展示为01-01-1990格式的字符串,新增一步格式化即可:
df <- df %>% mutate(date_str = format(date_col, "%d-%m-%Y"))
方法2:使用parse_date函数实现
和你的原始思路一致,先将整数年份转字符后解析,再补全月日:
library(dplyr) library(readr) df <- df %>% mutate(date_col = parse_date(as.character(year), format = "%Y") %>% update(month = 1, mday = 1))
Python 实现
使用pandas的to_datetime函数完成转换:
import pandas as pd # 替换df为你的数据框名称 df['date_col'] = pd.to_datetime(df['year'].astype(str) + '-01-01', format='%Y-%m-%d')
如果需要01-01-1990格式的字符串输出:
df['date_str'] = df['date_col'].dt.strftime('%d-%m-%Y')
内容的提问来源于stack exchange,提问作者esorenevets
相关产品推荐
相关产品推荐

