Как я могу создать полную гистограмму с NumPy? - PullRequest
2 голосов
/ 14 сентября 2009

У меня очень длинный список в numpy.array. Я хочу создать гистограмму для этого. Однако встроенная в гистограмму Numpy * требует предварительно определенного количества бинов. Каков наилучший способ создания полной гистограммы с одним интервалом для каждого значения?

Ответы [ 2 ]

8 голосов
/ 14 сентября 2009

Если у вас есть массив целых чисел и максимальное значение не слишком велико, вы можете использовать numpy.bincount:

hist = dict((key,val) for key, val in enumerate(numpy.bincount(data)) if val)

Edit: Если у вас есть данные с плавающей запятой или данные разбросаны по огромному диапазону, вы можете преобразовать их в целые числа, выполнив:

bins = numpy.unique(data)
bincounts = numpy.bincount(numpy.digitize(data, bins) - 1)
hist = dict(zip(bins, bincounts))
0 голосов
/ 14 сентября 2009

Корзина для каждого значения звучит немного странно, но не будет

bins=a.max()-a.min()

дать аналогичный результат?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...