【问题标题】:How to COUNTIF with Python?如何使用 Python 进行 COUNTIF?
【发布时间】:2021-11-24 10:44:08
【问题描述】:

我有一个 14 列的 Excel 表。前两列包含人名和他们的地址,其他十二列包含单词“批准”或“未批准”。 我知道 Excel 中的函数 COUNTIF。有没有办法计算 Python 有多少“已批准”?这是我读取数据框的代码:

df = pd.read_excel("Members.xlsx", sheet_name="eliminations")

我试过这个:

print(sum(df = "approved"))

但这是我的错误:TypeError: sum() takes at least 1 positional argument (0 given)

【问题讨论】:

    标签: python excel pandas dataframe countif


    【解决方案1】:

    你很接近,需要 np.sum 将值转换为 numpy 数组:

    np.random.seed(2021)
    df = pd.DataFrame(np.hstack((np.random.choice([1,2], size=(3, 2)), 
                                 np.random.choice(['approved','not approved'], size=(3, 4)))))
    print (df)
       0  1             2             3             4             5
    0  1  2      approved      approved  not approved      approved
    1  2  1  not approved  not approved  not approved  not approved
    2  2  1      approved      approved      approved      approved
    
    print(np.sum(df.to_numpy() == "approved"))
    7
    

    如果需要从第二列到最后一列中选择添加DataFrame.iloc:

    print(np.sum(df.iloc[:, 2:].to_numpy() == "approved"))
    7
    

    【讨论】:

    • 谢谢,成功了!
    • @jezrael 看起来我们对多个帐户的看法是正确的,该帐户已被删除,并且我从至少 2 个配置文件中获得了很多 DV ;)
    • @mozway 我认为模组知道这一点,但不容易与之抗争。 :(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    相关资源
    最近更新 更多