我觉得我的问题的答案可能是显而易见的,但我不太明白。我想知道在python中设置数值变量阈值的最佳方法(或任何好方法),以使高于该阈值的值的平均值(在我的例子中,它恰好高于,但也可能很容易低于)等于特定的给定数字。我很乐意使用numpy或pandas提供任何有效或高效的ish解决方案
从熊猫系列(或1D numpy阵列)开始,例如:
[0.1, 0.2, 0.3, 0.4, 0.5]
(实际上,序列或数组可能很长)。例如,假设给定的数字(即目标平均值)为0.35。在这种情况下,由于0.2、0.3、0.4和0.5(均高于阈值)的平均值等于0.35,因此我们可以注意期望阈值必须是大于或等于0.1但小于0.2的任何数字。(特别是,答案并不是唯一的。)
此外,与上面的玩具示例不同,在某些情况下,可能不可能精确地匹配给定的数字。但我仍然想求解一个阈值,使得高于该阈值的所有值的平均值尽可能接近给定的数值
对于如何在Python中实现这一点的任何建议都将不胜感激。特别是,如果有numpy或pandas方法可以做到这一点,请让我知道。如果我的问题需要进一步澄清,请告诉我。谢谢大家!
您可以计算原始数组中每个元素的阈值平均值:
输出:
这是相当有效的;len(x)=100万只需要不到一秒钟的时间。如果你有几十亿,你可以做一个二进制搜索或者其他什么,因为阈值和应该是单调的
相关问题 更多 >
编程相关推荐