Я хочу создать массив массивов структуры:
[line_number,count,temperature,humidity,sensor1_on,sensor2_on]
Где первые два должны быть uint32
, тогда как температура и влажность могут быть uint8
, а sensor_on
s может иметь тип bool
.
. Позже мне нужно отсортировать 2d массив на основе комбинации line_number
и затем считать.Мне также нужно выполнить средние и другие статистические вычисления для списков всех данных о температуре и влажности (отдельно).
Я нашел структурированные массивы, которые удобны для хранения и поиска данных:
np_data=np.zeros([num_lines],
dtype='uint32,'#Line No
'uint32,'# Count
'uint8,' #TEMP
'uint8,' #HUMID
'bool,' #S1 On
'bool'#S2 On
)
для этого против
np_data=np.zeros([num_lines,5],dtype='uint32')
# I would pack my bools into the last uint32 and then unpack later
# but it seems like a waste of space
Потеряю ли я что-нибудь (вычислительную мощность, векторизованную обработку, скорость сортировки и т. д.), создавая структурированный массив по сравнению с массивом с одинаковыми типами данных?Есть ли другое решение, которое можно порекомендовать?