Многие данные могут соответствовать типу np.float16
, если вы точно, но проблема обычно возникает, когда вы используете эти числа для вычислений.Как сказал unutbu:
Арифметические ошибки довольно быстро накапливаются с помощью float16s: np.array ([0.1,0.2], dtype = 'float16'). Sum () равно (приблизительно) 0,2998.Особенно, когда вычисления требуют тысячи арифметических операций, это может быть неприемлемым количеством ошибок для многих приложений.
Вы можете найти все виды проблем, связанных с размерами данных, даже игнорируя ошибки.Существуют nan
и infinity
проблемы, которые возникают при использовании очень маленьких и очень больших значений, которые np.float16
просто не может физически обработать .Это ограничивает его полезность конкретными расчетами, которые с меньшей вероятностью будут использоваться в реальных сценариях.Максимальное представимое значение в буквальном смысле составляет всего 65504. И с большими возможностями хранения и обработки, которые мы имеем на наших компьютерах, больше нет необходимости ограничиваться этим.И поэтому люди-панды просто решили не допускать этого для pd.to_numeric
, так как на самом деле его не так много, хотя есть много минусов.Многие программы также не поддерживают этот тип, так как он обычно не используется, и это то, что они имеют в виду, что не очень хорошо поддерживаются.
Конечно, вы можете придумать чрезвычайно большое количество примеров, которые могут соответствовать формату np.float16
, но есть и многие, многие другие, которые не могут.Это не означает, что не существует приложений, в которых меньший размер числа лучше.Но эти приложения, вероятно, не будут использовать панд.