首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python等价于Rowsum

Python等价于Rowsum
EN

Stack Overflow用户
提问于 2020-12-14 16:49:40
回答 1查看 741关注 0票数 0

样本数据

我有一个R代码,我想把它转换成类似的python代码。这是R代码片段:

代码语言:javascript
复制
data$total <- ifelse(data$dpd_gt_30 == 1 , rowSums(data[0:2]),
                 ifelse(data$dpd_gt_30 == 3 , rowSums(data[2:4]),1000))

我所做的是:

代码语言:javascript
复制
data['total']=data.iloc[:, 0:2].sum(axis=1).where(data['dpd_gt_30'] == 1,1000)

我如何添加多个条件(如果需要的话超过2个)?

编辑:

我按照指示做了以下事情:

代码语言:javascript
复制
conds = [
    df['dpd_gt_30'] == 1, 
    df['dpd_gt_30'] == 3,
    df['dpd_gt_30'] not in [1,3]
]

choices = [
    df.iloc[:,0:2].sum(axis=1),
    df.iloc[:,2:4].sum(axis=1),
    1000
    ]

df['Total'] = np.select(conds, choices)

现在,我该如何处理那些不符合条件的值呢?(数值不是1或3的情况)

EN

回答 1

Stack Overflow用户

发布于 2020-12-14 17:00:14

使用np.where

代码语言:javascript
复制
data['total'] = np.where(data['dpd_gt_30']==1, data.iloc[:,:2].sum(axis=1),
                         data.iloc[:,2:].sum(axis=1)
                        )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65293009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档