栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

大数组的块状直方图

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

大数组的块状直方图

如您所说,推出自己的产品并不难。您需要自己设置垃圾箱,并在遍历文件时重新使用它们。以下应该是一个体面的起点:

import numpy as npdatamin = -5datamax = 5numbins = 20mybins = np.linspace(datamin, datamax, numbins)myhist = np.zeros(numbins-1, dtype='int32')for i in range(100):    d = np.random.randn(1000,1)    htemp, jnk = np.histogram(d, mybins)    myhist += htemp

我猜想对于如此大的文件,性能将是一个问题,并且在每一行上调用直方图的开销可能太慢。
@doug关于生成器的建议似乎是解决该问题的好方法。

这是一种直接将您的值归类的方法:

import numpy as NPcolumn_of_values = NP.random.randint(10, 99, 10)# set the bin values:bins = NP.array([0.0, 20.0, 50.0, 75.0])binned_values = NP.digitize(column_of_values, bins)

'binned_values'
是一个索引数组,包含
column_of_values
中每个值所属的bin的索引。

“ bincount”将(显然)为您提供垃圾箱计数:

NP.bincount(binned_values)

给定数据集的大小,使用Numpy的’loadtxt’构建生成器可能会有用:

data_array = NP.loadtxt(data_file.txt, delimiter=",")def fnx() :  for i in range(0, data_array.shape[1]) :    yield dx[:,i]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648006.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号