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

如何在R中将「年.月」格式数据转换为可识别的「年-月」格式日期列

格式转换实现方案

以下分别提供Python(pandas)和R两种主流数据处理环境的实现代码:

Python(pandas)

假设你的原始数据框命名为df:

import pandas as pd

# 将数值型Month列转字符串替换分隔符,再转为年月格式的日期类型
df['Date'] = pd.to_datetime(df['Month'].astype(str).str.replace('.', '-', regex=False), format='%Y-%m').dt.to_period('M')
# 调整列顺序,删除原Month列
df = df[['Date', 'GSI']]

说明:转换为Period类型后输出会直接显示为1993-01格式,同时支持时间序列相关计算,无需额外处理显示格式。

R语言

用lubridate+zoo+dplyr(最简便方案)

library(dplyr)
library(lubridate)
library(zoo)

df <- df %>%
  # 转字符串后识别为年月类型
  mutate(Date = as.yearmon(as.character(Month), format = "%Y.%m")) %>%
  # 调整列顺序
  select(Date, GSI)

纯base R实现(无需安装额外包)

# 转换为日期类型,默认补当月第一天作为日位,后续格式化输出可只保留年月
df$Date <- as.Date(paste0(as.character(df$Month), "-01"), format = "%Y.%m-%d")
# 调整列顺序
df <- df[, c("Date", "GSI")]
# 如果需要直接显示为%Y-%m格式,可添加如下格式化步骤:
df$Date <- format(df$Date, "%Y-%m")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 15:45:06