【发布时间】:2021-11-13 06:28:39
【问题描述】:
df = pd.DataFrame({'id': [1,1,2,2,2,3,3,4,4,4,5,5,6,6],
'rank' : [1,2,1,2,3,1,2,1,2,3,1,2,1,2],
'age' : [20,2,30,28,4,26,3,22,23,1,34,29,56,25],
'sex' : ['female','female','male','female','male','female','male','female','male','male','male','female','female','female'],
'care' : [np.nan,np.nan,3,np.nan,np.nan,2,np.nan,np.nan,3,np.nan,np.nan,np.nan,2,np.nan]})
| id | rank | age | sex | care | new |
|---|---|---|---|---|---|
| 1 | 1 | 20 | female | NA | NA |
| 1 | 2 | 2 | female | NA | NA |
| 2 | 1 | 30 | male | 3 | 4 |
| 2 | 2 | 28 | female | NA | NA |
| 2 | 3 | 4 | male | NA | NA |
| 3 | 1 | 26 | female | 2 | 3 |
| 3 | 2 | 3 | male | NA | NA |
| 4 | 1 | 22 | female | NA | NA |
| 4 | 2 | 23 | male | 3 | 1 |
| 4 | 3 | 1 | male | NA | NA |
| 5 | 1 | 34 | male | NA | NA |
| 5 | 2 | 29 | female | NA | NA |
| 6 | 1 | 56 | female | 2 | 25 |
| 6 | 2 | 25 | female | NA | NA |
大家好,上表包含以下变量:
- id : 家庭识别号码
- rank : 户内人的排名,例如1表示户主,2配偶3子女
- age : 人的年龄
- sex : 人的性别
- care :包含家庭中接受护理服务的人的排名
所以我想创建一个名为 new 的变量,其中包含在家中接受护理的人的年龄。我正在尝试在 Python 3.8 中执行此操作
我用这个命令在 Stata 中做了这个练习:
rangestat new = age, by(id) int(rank care care)
并且在 rtudio 中也这样做:
df <- df %>%
group_by(id) %>%
mutate(new = age[match(care, rank)]) %>%
ungroup
我希望我已经理解了自己,也没有造成不便,我提前谢谢你
【问题讨论】:
-
就像上面的评论者一样,我真的不知道你在问什么。 “新”是什么意思?