繁体   English   中英

在Python中绘制高于阈值的值

[英]Plotting occurrences for values higher than a threshold in Python

我有一个非均匀数组'A'。

A = [1,3,2,4,..., 12002, 13242, ...]

我想探讨数组“ A”中有多少个元素的值高于某些阈值。

例如,有1000个值大于1200的元素,因此我想绘制值大于1200的元素的数量。此外,还有其他1500个值大于110的元素(其中包括1000个元素,其值大于1200)。

这是一个相当大的数据集,因此我不想忽略任何信息。

然后,我想绘制值A相对于Log(A)上方的元素“ N”的数量,即

**'Log N(> A)" vs. 'Log (A)'**.

我本来想对数据进行分箱,但是却没有成功。 我在python中没有做太多的统计,所以我想知道是否有一个很好的方法来绘制这些数据?

提前致谢。

让我对我们拥有的东西再做个破解:

A = [1, 3, 2, 4, ..., 12002, 13242, ...]

# This is a List of 12,000 zeros.
num_above = [0]*(12000)

# Notice how we can re-write this for-loop!
for i in B:
    num_above = [val+1 if key <= i else val for key,val in enumerate(num_above)]

我相信这就是您想要的。 最终列表num_above将使得num_above[5]等于A中大于5的元素数。

说明

最后一行是所有魔术发生的地方。 它遍历A( i )中的元素, num_above所有索引小于i的元素加一个。

enumerate(A)语句是一个枚举器,它生成元组的迭代器,该元组包括A中所有元素的键和值: (0,1) (1,3) -> (2,2) -> (3,4) -> ...

同样, num_above = [x for y in List]语句称为List Comprehension ,它是Python中一个非常强大的工具。

改进 :我看到您已经修改了您的问题以包括这些更改,但是我认为它们很重要。

  1. 我删除了numpy依赖项。 在可能的情况下,消除依赖关系会降低项目的复杂性,尤其是大型项目。
  2. 我还删除了原始列表A 可以用基本上像A = range(12000)东西代替。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM