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

将面板数据中M编码格式的日期字符串转换为标准日期格式

解决"YYYYM[月份]"格式日期转标准日期的方案

针对你面板数据里类似"1999M1"、"1999M2"这种日期字符串,以下是几种常用工具的转换方法:

Python(Pandas)

Pandas自带的日期解析工具可以直接识别这种格式,一步到位:

import pandas as pd

# 假设你的日期列叫'date'
df['date'] = pd.to_datetime(df['date'])

转换后会得到Timestamp类型的日期,默认取当月第一天(比如1999-01-01 00:00:00),如果需要统一显示为YYYY-MM-DD格式,可以再加一步:

df['date'] = pd.to_datetime(df['date']).dt.strftime('%Y-%m-%d')

如果遇到特殊解析问题,也可以先替换"M"为"-"再转换:

df['date'] = pd.to_datetime(df['date'].str.replace('M', '-'))

R语言

用lubridate包可以快速处理年月格式:

library(lubridate)
library(stringr)

# 替换"M"为"-"后,用ym()函数解析成年月格式
df$date <- ym(str_replace(df$date, "M", "-"))

转换后是Date类型,默认当月第一天。如果用基础R的方法:

df$date <- as.Date(paste0(str_replace(df$date, "M", "-"), "-01"))

Excel

如果用Excel处理,两种简单方法:

  • 公式法:在空白单元格输入公式,替换"M"并补全日期:
    =DATEVALUE(SUBSTITUTE(A1,"M","-")&"-01")
    
    按下回车后,把单元格格式设置为你需要的标准日期样式(比如YYYY-MM-DD)。
  • 数据分列法:
    1. 选中日期列,点击「数据」→「分列」
    2. 分隔符号选择「其他」,输入M,点击完成,将日期拆分为年份和月份两列
    3. 用DATE函数组合:=DATE(B1,C1,1),其中B1是年份列,C1是月份列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:16:09