gpt4 book ai didi

python - 使用带有百分比的 heapq.nlargest - Python

转载 作者:太空宇宙 更新时间:2023-11-04 04:50:03 27 4
gpt4 key购买 nike

有谁知道如何将 heapq.nlargest 与百分比而不是数字一起使用?目前我有

heapq.nlargest(187030, y)

但这让我得到了前 187030 个数字。我需要它来为每个数组获取前 10% 的数字,因为并非所有数组都有 180 万个。

干杯

最佳答案

是的。在幕后,堆实际上是一个具有特定属性的列表(它使用所谓的 implicit data structure )。

所以我们可以先取len(y)获取元素个数。通过除以 10,我们得到元素的 10% 数量。所以我们可以使用:

heapq.nlargest(<b>len(y)//10</b>, y)

或者如果您想使用百分比作为参数:

<b>p = 17</b>  # top 17 procent

heapq.nlargest(<b>len(y)*p//100</b>, y)

您还可以使用分数(例如顶部0.14):

<b>from math import round</b>

<b>p = 0.14</b> # top 14 procent

heapq.nlargest(<b>round(len(y)*p)</b>, y)

关于python - 使用带有百分比的 heapq.nlargest - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48565768/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com