Perl PDL – 在向量中获得80%的最低值

Perl PDL – 在向量中获得80%的最低值,第1张

概述是否有一个优雅的PDL函数,它接收一个值列表并返回80%原始值最低的列表? 例如: 如果我有这样的列表:(9,4,1,2,7,8,3,5,6,10) 我想在原始列表上调用此函数后得到(1,2,3,4,5,6,7,8)(值的顺序无关紧要 – 它不需要对值进行排序). 我发现PDL :: Ufunc :: oddpct可以返回第80百分位,但我希望获得一个达到该百分位数的值列表.我可以自己做,但如果有 是否有一个优雅的PDL函数,它接收一个值列表并返回80%原始值最低的列表?

例如:
如果我有这样的列表:(9,4,1,2,7,8,3,5,6,10)

我想在原始列表上调用此函数后得到(1,8)(值的顺序无关紧要 – 它不需要对值进行排序).

我发现PDL :: Ufunc :: oddpct可以返回第80百分位,但我希望获得一个达到该百分位数的值列表.我可以自己做,但如果有开箱即用的东西 – 为什么不使用它?

谢谢!!!

解决方法 我建议你使用pct来获得第80百分位数,并结合使用where原语来选择该值之下的所有内容.使用您自己的数据,它看起来像这样

use strict;use warnings;use PDL;my $List = pdl(9,10);print qsort $List->where($List <= $List->pct(80/100));

OUTPUT

[1 2 3 4 5 6 7 8]
总结

以上是内存溢出为你收集整理的Perl PDL – 在向量中获得80%的最低值全部内容,希望文章能够帮你解决Perl PDL – 在向量中获得80%的最低值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1239400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存