Скажем, у меня есть список координат (кортежи с постоянной длиной n
), где n
определяется во время выполнения. Я хотел бы по существу построить n
-мерную гистограмму, но где бины не просто счетчики, а, скорее, каждый содержит все координатные кортежи, которые попадают в этот бит.Как превратить список кортежей в «гистограмму», где корзины содержат кортежи?
Пример того, что я хотел:
Вход:
list: [(-0.308, 0.414), (-0.058, -0.279), (0.860, 0.118), (-0.543, -0.093)]
bin_width: 1
Выход:
[[[(-0.058, -0.279), (-0.543, -0.093)], [(-0.308, 0.414)]], [[], [(0.860, 0.118)]]]
Update: У меня есть решение сейчас (см мой ответ ниже) , Хотя, если у вас есть идея лучше, пожалуйста, поделитесь. В частности, было бы неплохо преобразовать этот метод в генераторы вместо списков. - Мой пример здесь короткий, но как я его намерен использовать, мой список ввода может быть очень большим, и мне также действительно нужно использовать выход один раз.
Как вы говорите, возможно, большие списки, и посмотреть на NumPy и это многомерная поддержка гистограммы : http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.histogramdd.html#numpy.histogramdd – Markus
Разве это не говорит мне, сколько очков приземляется в каждом бункере? Это не совсем то, что я хочу здесь. Я не совсем спрашиваю гистограмму. Просто что-то концептуально близко к одному. - Бункеры должны содержать точки, а не количество точек. – kram1032
Извините, вы правы. Когда я читал «n-мерную гистограмму», я сразу же подумал о том, как много, без тщательного прочтения остальных. : -/ – Markus