假设我们有以下框架和程序逻辑

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'B': [4, 5, 6, 7, 8, 9, 10, 11, 12, 13]})


def more_than(series, threshold=5):
    try:
        trues = series.value_counts()[True]
        p = trues / len(series) * 100
    except KeyError:
        p = 0
    
    return True if p > threshold else False

df['compare'] = df['A'] > 5

print(more_than(df['compare']))

# True here

我希望具有类似于all(...)的功能,但可能有阈值(如上所述).它可以正常工作,但我想知道这里是否有内置的东西,而且可能更快.

推荐答案

您可以使用:用途:

(df['A'].gt(5).mean()*100)>5

输出:True

中间体:

# df['A'].gt(5)
[False, False, False, False, False, True, True, True, True, True]

# implicit conversion to integer
[0, 0, 0, 0, 0, 1, 1, 1, 1, 1]

# average
0.5

Python相关问答推荐

如何计算两极打印机中 * 所有列 * 的出现次数?

使用FASTCGI在IIS上运行Django频道

为什么tkinter框架没有被隐藏?

rame中不兼容的d类型

如何标记Spacy中不包含特定符号的单词?

使用索引列表列表对列进行切片并获取行方向的向量长度

_repr_html_实现自定义__getattr_时未显示

运行终端命令时出现问题:pip start anonymous"

Streamlit应用程序中的Plotly条形图中未正确显示Y轴刻度

给定高度约束的旋转角解析求解

转换为浮点,pandas字符串列,混合千和十进制分隔符

剪切间隔以添加特定日期

如何删除重复的文字翻拍?

使用Python TCP套接字发送整数并使用C#接收—接收正确数据时出错

如何在Python中自动创建数字文件夹和正在进行的文件夹?

Python日志(log)库如何有效地获取lineno和funcName?

在MongoDB文档中仅返回数组字段

来自任务调度程序的作为系统的Python文件

关于数字S种子序列内部工作原理的困惑

如何将django url参数传递给模板&S url方法?