熊猫python COUNTIF在具有多个条件的多个列上

维克多·亨利

我有一个数据集,其中我试图确定每个人的危险因素数量。所以我有以下数据:

Person_ID  Age  Smoker  Diabetes
      001   30       Y         N
      002   45       N         N
      003   27       N         Y
      004   18       Y         Y
      005   55       Y         Y

每个属性(年龄,吸烟者,糖尿病)都有自己的条件来确定是否是危险因素。因此,如果年龄> = 45,则是一个危险因素。吸烟者和糖尿病为“ Y”是危险因素。我想要添加一列,以根据这些条件总计每个人的风险因素数量。因此数据如下所示:

Person_ID  Age  Smoker  Diabetes  Risk_Factors
      001   30       Y         N             1
      002   25       N         N             0
      003   27       N         Y             1
      004   18       Y         Y             2
      005   55       Y         Y             3

我有一个样本数据集,我在Excel中鬼混,而我这样做的方式是使用COUNTIF公式,如下所示:

=COUNTIF(B2,">45") + COUNTIF(C2,"=Y") + COUNTIF(D2,"=Y")

但是,我将要使用的实际数据集对于Excel来说太大了,因此我正在为python学习熊猫。我希望我能提供一些例子,但坦率地说,我什至不知道从哪里开始。我看了这个问题,但是它并没有真正解决如何使用来自多个列的不同条件将其应用于整个新列的方法。有什么建议么?

ZJS

如果您想坚持使用熊猫。您可以使用以下...

isY = lambda x:int(x=='Y')
countRiskFactors = lambda row: isY(row['Smoker']) + isY(row['Diabetes']) + int(row["Age"]>45)

df['Risk_Factors'] = df.apply(countRiskFactors,axis=1)

这个怎么运作

isY-是一个存储的lambda函数,用于检查单元格的值是否为Y,否则返回1 countRiskFactors-汇总风险因素

最后一行使用apply方法,将参数键设置为1,该方法沿DataFrame逐行应用方法-first参数-并返回附加到DataFrame的Series。

打印df的输出

   Person_ID  Age Smoker Diabetes  Risk_Factors
0          1   30      Y        N             1
1          2   45      N        N             0
2          3   27      N        Y             1
3          4   18      Y        Y             2
4          5   55      Y        Y             3

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python-在列上具有多个索引的数据透视表

来自分类Dev

python中具有多个条件的文件?

来自分类Dev

具有多个条件的python中的Vlookup

来自分类Dev

计算熊猫中具有多个条件的行

来自分类Dev

熊猫:如何在一个列上合并具有相同列名的多个数据框?

来自分类Dev

COUNTIF具有多个条件和列表

来自分类Dev

R中具有多个条件的Countif

来自分类Dev

熊猫cumsum +多个列上的cumcount

来自分类Dev

在python中具有多个条件的排序列表

来自分类Dev

具有多个条件的Python numpy数组可遍历图像

来自分类Dev

Python:具有多个条件的np.where

来自分类Dev

在python中过滤具有多个条件的对象的列表

来自分类Dev

具有多个条件的Python + SQLite 3查询

来自分类Dev

Python-具有多个条件的过滤器功能

来自分类Dev

具有多个条件的Python numpy数组可遍历图像

来自分类Dev

根据多个列上的多个特定条件在熊猫中创建新列-Pandas

来自分类Dev

在多个列上具有多个条件的Select语句

来自分类Dev

熊猫:np.where,在数据帧上具有多个条件

来自分类Dev

使用变量筛选具有多个条件(熊猫)的数据框时出错

来自分类Dev

熊猫删除具有多个字符串条件的行

来自分类Dev

熊猫-计算多个条件

来自分类Dev

熊猫-计算多个条件

来自分类Dev

熊猫中多个列上的分组聚合

来自分类Dev

列上的操作多个文件熊猫

来自分类Dev

COUNTIF具有多个条件以返回不同的结果

来自分类Dev

在单列上具有多个条件的Access 2007更新查询

来自分类Dev

多个具有条件的列上的COUNT()

来自分类Dev

熊猫左外连接多个列上的多个数据框

来自分类Dev

python中具有多个匹配项和否定条件的多行正则表达式

Related 相关文章

热门标签

归档