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

R语言如何参照某列值批量修改另一列的对应单元格值

常用工具的实现方案

Python(Pandas)

假设你的数据集已加载为DataFrame对象df,两种常用写法均可实现:

# 写法1:loc定位赋值,逻辑更直观
df.loc[df['week'] == 52, 'month'] = 12

# 写法2:np.where条件替换
import numpy as np
df['month'] = np.where(df['week'] == 52, 12, df['month'])

R语言

假设数据集名为df:

# 基础R语法
df$month[df$week == 52] <- 12

# dplyr语法
library(dplyr)
df <- df %>% 
  mutate(month = if_else(week == 52, 12, month))

SQL

如果数据存在数据库表date_info中:

  • 需要修改原表数据:
UPDATE date_info 
SET month = 12 
WHERE week = 52;
  • 仅查询时临时输出,不修改原表:
SELECT 
  year,
  CASE WHEN week = 52 THEN 12 ELSE month END AS month,
  week
FROM date_info;

Excel

假设year/month/week分别在A、B、C列,第一行为表头:

  1. 空白列(如D列)第二行输入公式:=IF(C2=52,12,B2)
  2. 下拉公式填充所有数据行
  3. 复制D列所有计算结果,右键粘贴值到B列覆盖原有数据即可

所有方案对示例数据测试后均可输出你需要的预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:09:02