如何统计pandas DataFrame多列指定定类值的行出现次数并新增计数列
你可以通过布尔值求和的方式快速实现这个需求,代码如下:
import pandas as pd # 示例DataFrame df = pd.DataFrame({ 'a':["Yes","No", "Yes"], 'b':["Yes","No", "No"], 'c':["Yes","Yes", "Yes"], 'd':["No","Yes", "No"], 'e':["Yes","No", "Yes"] }) # 统计每行Yes的数量并存入新列f df['f'] = df.eq('Yes').sum(axis=1)
代码说明
df.eq('Yes')会逐元素判断是否等于Yes,返回布尔型DataFrame,匹配成功为True,否则为Falsesum(axis=1)指定按行方向求和,Python中布尔值True等价于1、False等价于0,求和结果就是每行Yes的总出现次数- 直接赋值给
df['f']即可完成新列添加,运行结果和你给出的预期输出完全一致。
内容的提问来源于stack exchange,提问作者이가원
相关产品推荐
相关产品推荐

