python if elif 每个if有输入变量_Python/Pandas-基于多个变量和if/elif/else函数创建新变量...

本文介绍如何在Python中使用Pandas数据框和if/elif/else语句,根据多个列的值创建新变量。示例中涉及的数据框包含ID、日期变量和grad_time,并展示了如何根据特定条件返回不同值。
摘要由CSDN通过智能技术生成

我试图创建一个新的变量,它是基于其他几个值的条件值。我之所以在这里写作,是因为我曾尝试在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值