【发布时间】:2017-01-22 12:54:12
【问题描述】:
我有一个大的 numpy.ndarray,我想绘制它,其中 x 轴与数组中的值有关,y 轴显示该值在数组中出现的频率。需要明确的是,我不关心数组中数据的顺序,或者如果它们的顺序搞砸了,我只想获取数字,将它们装箱,然后绘制它们。
到目前为止我想要做的步骤,每个步骤都在我的 Jupyter 笔记本中分开
打开/读取我的数组(它是 1024x1024,非常大)- 步骤完成
将数组转换为列表完成
在数组中吐出空值...当前不工作
Bin data to count values...这里真的丢了
-
散点图 - 修剪 vs 计数 - 一旦前两个工作,matplotlib 和我相处,这部分会很好
将 numpy 导入为 np
将 matplotlib.pyplot 导入为 plt
scidata = 1024x1024 的 np 数据数组
lsci = []
对于范围内的 r(1024):
scilist = scidata[r,:].tolist() lsci.extend(scilist) trimmed = lsci对于 lsci 中的项目:
if 12.58 <= i== 12.59: #the null value I don't want is in this range r.remove(item)
对不起,我希望我有更多,但这对我来说是个冒险的地方,我有点羞于发布我尝试过但失败的内容,因为大多数都是死胡同。我想到的唯一真正的解决方案是将数据分箱......但这不适用于散点图,因为两个列表的长度不会相同,并且直方图不是我想要的无论如何,最终产品。那么我是否可以使用另一种我不知道的方法? (我觉得有一些我从未学过的编码知识——当然我不是第一个想要这样做的人。)谢谢!
编辑:对不起,即使我放了四个空格,我的所有代码都没有显示为代码...
【问题讨论】:
-
您实际上是在询问如何创建直方图吗?然后尝试使用
matplotlib.pyplot.hist(yourarray.ravel()),并使用可选参数bins和range来定义bin的数量和数据的范围 -
仅供参考 - 您可以突出显示所有代码文本并按
CTRL+K将其转换为代码格式
标签: python arrays numpy matplotlib