У меня есть столбец со значениями длины 5, 6, 8 или 9. Столбец должен просто иметь значения длины 6 или 9. Мне нужно добавить начальные 0, если значение имеет длину 5 или 8.
Существует еще один столбец, в котором можно указать, должно ли значение быть 6 или 9 цифрами (индикатор).Значение индикатора «Красный» означает 6 цифр, а индикатор «Зеленый» означает 9 цифр.
df['digits'] = df[df['indicator'] == 'red']['digits'].apply(lambda x: "{:006d}".format(x))
df['digits'] = df[df['indicator'] == 'green']['digits'].apply(lambda x: "{:009d}".format(x))
id indicator digits
0 red 54324
1 red 654345
2 green 533345678
3 green 56438594
ожидаемый результат:
id indicator digits
0 red 054324 # 0 added to this value
1 red 654345
2 green 533345678
3 green 056438594 # 0 added to this value
Я получаю ошибку ValueError: Unknown format code 'd' for object of type 'float'
.Есть идеи почему?Что я пропустил?