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

R语言中基于同dataframe另一列值为列赋值的问题问询

R 语言实现

直接使用向量化操作即可完成赋值,无需循环,执行效率更高:

  • 满足条件赋值为1、不满足赋值为0的场景:
# 基础R语法,按列位置操作
df[,4] <- ifelse(df[,3] >= 2, 1, 0)

# 如果需要给新列指定名称,比如命名为flag
df$flag <- ifelse(df[[3]] >= 2, 1, 0)
  • 仅给满足条件的行赋值为1,其余行留空的场景:
df[,4] <- NA
df[df[,3] >= 2, 4] <- 1

Python Pandas 实现

同样使用向量化操作完成需求:

  • 满足条件赋值为1、不满足赋值为0的场景:
import pandas as pd
# 按列位置操作
df[3] = (df.iloc[:, 2] >= 2).astype(int)

# 给新列指定名称
df['flag'] = (df.iloc[:, 2] >= 2).astype(int)
  • 仅给满足条件的行赋值为1,其余行留空的场景:
import numpy as np
df['flag'] = np.where(df.iloc[:,2] >=2, 1, pd.NA)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 02:15:03