如何在data frame中创建仅包含2015年收入的新变量
生成2015年对应收入新变量的操作方法
假设你的数据框命名为df,年份列字段名为年份,工资列字段名为工资,以下是两种常用数据分析工具的实现方案:
Python(Pandas环境)
- 方案1:基于
np.where条件赋值
import numpy as np import pandas as pd # 2015年的行取对应工资值,其余行设为缺失值 df['2015年收入'] = np.where(df['年份'] == 2015, df['工资'], pd.NA)
- 方案2:基于
.loc索引赋值
# 先初始化新列为缺失值 df['2015年收入'] = pd.NA # 仅给2015年的行赋值对应工资 df.loc[df['年份'] == 2015, '2015年收入'] = df.loc[df['年份'] == 2015, '工资']
R语言环境
- 基础R语法实现
df$`2015年收入` <- ifelse(df$年份 == 2015, df$工资, NA)
- dplyr包语法实现
library(dplyr) df <- df %>% mutate(`2015年收入` = if_else(年份 == 2015, 工资, NA_real_))
注意:如果你的年份列是字符串格式(比如存储为"2015年"而非数值型2015),需要把判断条件中的
2015修改为匹配的字符串格式,例如df['年份'] == '2015年'。
内容的提问来源于stack exchange,提问作者vitas
相关产品推荐
相关产品推荐

