Как эффективно преобразовать список целых чисел в число от 0 до 1, например:
[0] -> [0]
[9] -> [0.9]
[9, 19] -> [0.09, 0.19]
[9, 19, 1000] -> [0.0009, 0.0019, 0.1]
Я думаю:
def integer_to_0_1(numpy_array):
divisor = 10 ** len(str(np.max(numpy_array)))
return numpy_array/divisor
Причина
Я создаю идентификатор в кадре данных pandas из 2 других столбцов, но я хочу, чтобы этот идентификатор можно было сортировать.Таким образом, вместо создания идентификатора в виде строки типа "col1_col2"
, я подумал, что если я сделаю его как число типа col1.col2
, он легко сортируется и информация о заказе не теряется.Например,
--------------- ------------
| col1 | col2 | | ID |
| 0 | 0 | -> | 0 |
| 0 | 110 | | 0.110 |
| 2332 | 3 | | 2332.003 |