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

如何在R语言中仅删除日期列中的年份值(保留月日)?

Hey Patrick, 刚好我之前处理过类似的野生动物GPS数据日期格式化需求,给你整理了几种常用工具的解决方案,适配不同的工作流:

Python(Pandas)方案(推荐用于批量数据分析)

如果你的数据是用Pandas处理的,有两种可靠的方法,优先推荐第二种,能兼容更多格式细节:

import pandas as pd

# 先加载你的GPS数据(替换成实际文件路径)
df = pd.read_csv('wild_boar_gps_data.csv')

# 方法1:直接对字符串日期拆分拼接(适用于格式严格统一的情况)
df['month_day'] = df['date'].str.split('/').str[:2].str.join('/')

# 方法2:先转为日期对象再格式化(更稳妥,能自动处理单/双位数月日)
df['date'] = pd.to_datetime(df['date'], format='%m/%d/%Y')
df['month_day'] = df['date'].dt.strftime('%m/%d')

这样处理后,month_day列就是你需要的%m/%d格式了,完全去掉年份信息。

Excel方案(适合快速手动处理小数据集)

如果习惯用Excel操作,这两个公式可以直接用:

  • 如果单元格是Excel识别的日期格式:在空白单元格输入 =TEXT(A2, "m/d")(A2是目标日期单元格),下拉填充即可。
  • 如果单元格是纯文本格式:先转成日期再格式化,公式为 =TEXT(DATEVALUE(A2), "m/d"),同样下拉批量处理。
R语言方案(适配R生态的数据分析工作流)

用lubridate包处理日期会非常方便:

library(lubridate)
library(dplyr)

# 加载数据
df <- read.csv("wild_boar_gps_data.csv")

# 转换日期格式并提取月日
df <- df %>%
  mutate(date = mdy(date)) %>%  # 将字符串转为日期对象
  mutate(month_day = format(date, "%m/%d"))

小提示:如果你的数据里存在格式不统一的日期(比如部分是04/12/2017,部分是4/12/2017),优先选择转成日期对象再格式化的方法,避免字符串截取出错哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:32:40