我试图创建一个新的变量,它是基于其他几个值的条件值。我之所以在这里写作,是因为我曾尝试在R中将其作为嵌套的ifelse()语句编写,但它有太多的嵌套ifelse语句,所以它抛出了一个错误,我认为应该有一种更简单的方法在Python中对其进行排序。
我有一个数据框(称为df)看起来大致是这样的(尽管实际上它更大,有更多的月/年变量),我已经将其作为pandas数据框读入:ID Sept_2015 Oct_2015 Nov_2015 Dec_2015 Jan_2016 Feb_2016 Mar_2016 \
0 1 0 0 0 0 1 1 1
1 2 0 0 0 0 0 0 0
2 3 0 0 0 0 1 1 1
3 4 0 0 0 0 0 0 0
4 5 1 1 1 1 1 1 1
grad_time
0 240
1 218
2 236
3 0
4 206
我试图创建一个新的变量,它依赖于所有这些变量的值,但是“早期”变量的值需要有先例,因此if/elif/else条件需要如下:if df['Sept_2015'] > 0 & df['grad_time'] <= 236:
return 236
elif df['Oct_2015'] > 0 & df['grad_time'] <= 237:
return 237
elif df['Nov_2015'] > 0 & df['grad_time'] <= 238:
return 238