【发布时间】:2020-09-12 01:02:57
【问题描述】:
我觉得我的问题的答案可能很明显,但我无法完全弄清楚。我想知道在python中最好的方法(或任何好的方法)来阈值一个数值变量,使得高于这个阈值的值的平均值(在我的例子中,它恰好高于,但它也可以很容易地下面)等于一个特定的给定数字。我会对任何使用 numpy 或 pandas 的高效或高效的解决方案感到满意。
从 pandas 系列(或一维 numpy 数组)开始,例如:
[0.1, 0.2, 0.3, 0.4, 0.5]
(实际上,序列或数组可能很长)。例如,假设给定的数字,即目标平均值,是 0.35。在这种情况下,我们可以看出所需的阈值必须是大于或等于 0.1 但小于 0.2 的任何数字,因为 0.2、0.3、0.4 和 0.5(均高于阈值)的平均值等于 0.35。 (特别是,答案不是唯一的。)
此外,与上面的玩具示例不同,在某些情况下,可能无法完全匹配给定的数字。但我仍然想求解一个阈值,使高于该阈值的所有值的平均值尽可能接近给定数字。
非常感谢任何有关如何在 Python 中完成此任务的建议。特别是,如果存在执行此操作的 numpy 或 pandas 方法,请告诉我。如果我的问题需要进一步澄清,请告诉我。谢谢!
【问题讨论】: