如何使用 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
我有一个包含 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