numpy从上到下排序

2024-04-25 09:33:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图把前5%,后5%和剩下的5%分成不同的数组,保存平均值。我的代码在下面。在

    tg = 48000000 element float array
    tg.sort()
    pct = int(tg.size*0.05)
    high5 = tg[-pct:].mean()
    low5 = tg[:pct].mean()
    mid90 = tg[pct:-pct].mean()

如果你能给我一些建议,我会很感激的。在


Tags: 代码sizetg数组elementfloatmeansort
1条回答
网友
1楼 · 发布于 2024-04-25 09:33:14

实际上,您不需要对数组进行完全排序。您可以使用分区方法:

tg = 48000000 element float array    
pct = int(tg.size*0.05)

tg.partition([pct, tg.size - pct]) 

mean_low5 = tg[:pct].mean()
mean_high5 = tg[-pct:].mean()
mean_mid90 = tg[pct:-pct].mean()

(代码根据Jaime的评论进行了更新)

相关问题 更多 >