У меня есть данные с непрерывной плавающей запятой, начиная от -257,2 до 154,98, Я понятия не имею, как это распределяется. Но я хотел бы, чтобы это было в бункерах - от -270 до -201, -200 до -141, от -140 до -71, -70 до -1, от 0 до 69, от 70 до 139, от 140 до 209Python convert Непрерывные данные в категориальные
есть ли способ сделать это ?, в частности, я высматривая:
data = np.random.rand(10)
data
array([ 0.58791019, 0.2385624 , 0.70927668, 0.22916244, 0.87479326,
0.49609703, 0.3758358 , 0.35743165, 0.30816457, 0.2018548 ])
def GenRangedData(data, min, max, step):
#some code
no_of_bins = (max - min)/ step
bins = []
#some code
return bins
rd = GenRangedData(data, 0, 1, 0.1)
# should generate:
rd
[[], [0.2385624, 0.22916244, 0.2018548], [0.3758358, 0.35743165, 0.30816457], [0.49609703], [0.58791019], [], [0.70927668], [0.87479326]]
я, очевидно, можно сделать это вручную итерацию по всем номерам, но я ищу, чтобы автоматизировать его, так что мин макс и шаг можно экспериментировать много. Есть ли способ сделать это эффективно?
Не уверен, что вы спрашивая. Таким образом, вы не хотите перебирать «данные» и назначать каждый элемент в соответствующий бит внутри 'GenRangedDate()'? Что вы надеетесь достичь, если не так? – yelsayed
Я ищу библиотечную функцию для этого, итерационный список сам по себе не кажется эффективным .. – Adorn
это операция «O (n)», никакая встроенная функция не может сделать это быстрее, вы просто _have_, чтобы проверить все значения , – yelsayed