python中的countif函数

Posted

技术标签:

【中文标题】python中的countif函数【英文标题】:Countif function in python 【发布时间】:2021-01-02 10:40:24 【问题描述】:

enter image description here 在 excel 文件中,我可以像附图一样执行 countif 功能,但是如何在 Python Pandas 中执行此 countif 功能,请提供代码帮助我

【问题讨论】:

这可能对***.com/questions/20995196/…有帮助 欢迎来到 SO。这不是讨论论坛或教程。请使用tour 并花时间阅读How to Ask 以及该页面上的其他链接。 https://pandas.pydata.org/docs/user_guide/index.html 【参考方案1】:

这是一个示例,说明如何创建函数来完成您正在寻找的内容。 建议的其他 *** 帖子的问题是,您必须重塑数据才能使这些方法正常工作(您可以使用 df.T 进行操作),但这在您的情况下可能不实用。

我已更新我的答案以说明第一列(名称)。

import pandas as pd

# creating example df
df = pd.DataFrame('name':['Akbar','Jashim'],
                   'col1':[4,5],
                   'col2':[5,8],
                   'col3':[2,12],
                   'col4':[10,14],
                   'col5':[22,16],
                   'col6':[12,19],
                   'col7':[3,6],
                   )

# create function to get number of values
# over 10 for each row in the df
def countif(df):
    over_10 = []
    # Loop over rows in df using .iloc
    for i in df.index:
        row_count = (df.iloc[i,1:] > 10).sum()
        over_10.append(row_count)
    return over_10
        
df['over_10'] = countif(df)

【讨论】:

尊敬的 Bradon 先生,它可以工作,谢谢先生 (Bradon),但出现了一个错误。它显示,在 'str' 和 'int' 的实例之间不支持 '>'。因为在第一列中有一个“名称”列。请帮我解决这个名字栏,这是必要的。 我已更新上述答案以说明第一列(名称)。我只是在 df.iloc[i] 中添加了一些代码,以便它获取索引 i 处的行以及索引 1 到 df 结尾的所有列。现在看起来像 df.iloc[i,1:] :) :) :) 先生,它现在可以正常工作了:D 非常感谢您

以上是关于python中的countif函数的主要内容,如果未能解决你的问题,请参考以下文章

countif 函数怎么嵌套其他函数来作为计数条件?比如len来判定长度?

求教excel中 这段函数的意义 =IF(NOT(COUNTIF($A$1:A2,A2)-1),A2,"")

R中是不是有等效于“count if”函数的功能?

COUNTIF函数应用案例解析

Excel的常用函数

和身份证有关的5个Excel函数公式