如何使用 Python 进行 COUNTIF?

How to COUNTIF with Python?

我有一个包含 14 列的 excel sheet。前两栏包含人名及其地址,其他十二栏包含“已批准”或“未批准”一词。 我知道 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)

你很接近,需要 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

如果 ned select 从第二列到最后一列添加 DataFrame.iloc:

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