Работа в Python3.
Скажем, у вас есть миллион жуков, и ваша задача состоит в том, чтобы каталогизировать размер их пятен.Таким образом, вы создадите таблицу, в которой каждая строка представляет собой жука, а число в строке представляет размер пятен;
[[.3, 1.2, 0.5],
[.6, .7],
[1.4, .9, .5, .7],
[.2, .3, .1, .7, .1]]
Кроме того, вы решаете сохранить это в массиве Numpy, для которого вы дополняетесписки с None (numpy преобразует это в np.nan).
[[.3, 1.2, 0.5, None, None],
[.6, .7, None, None, None],
[1.4, .9, .5, .7, None],
[.2, .3, .1, .7, .1]]
Но есть проблема, значения, представленные как None, могут быть None по одной из 3 причин;
Жук не имеет много пятен;этого количества не существует.
Жук не будет стоять на месте, и вы не сможете измерить место.
У вас нетЯ уже приступил к измерению этого жука, поэтому значение не назначено.
Моя проблема на самом деле не связана с жуками, но принципы те же.Мне нужны 3 разных значения None, чтобы я мог различать причины пропущенных значений.Мое текущее решение состоит в том, чтобы использовать значение, настолько большое, что это физически маловероятно, но это не очень безопасное решение.
Предположим, вы не можете использовать отрицательные числа - на самом деле измеряемая мной величина может бытьотрицательный.
Данные большие, важна скорость чтения.
Редактировать;комментарии справедливо указывают на то, что говорить о скорости важно, не говоря о том, какие операции немного бессмысленны.Принципиальный компонентный анализ, вероятно, будет использоваться для декорриляции переменной, вычисления евклидова квадрата расстояния для алгоритма кластеризации (но данных в этой переменной немного), возможно, для некоторой интерполяции.В конце концов, это рекурсивная нейронная сеть, но она будет исходить из библиотеки, поэтому мне просто нужно будет поместить данные в форму ввода.Так что, может быть, нет ничего хуже, чем линейная алгебра, все должно уместиться в оперативной памяти, если я осторожен, я думаю.
Что такое хорошая стратегия?