Преобразование чисел в миллионах и тысячах в строковый форматPython

Программы на Python
Anonymous
Преобразование чисел в миллионах и тысячах в строковый формат

Сообщение Anonymous »

У меня есть столбец в моем фрейме данных pandas:

Код: Выделить всё

df = pd.DataFrame([[3000000, 2500000, 1800000, 800000, 500000]], columns=['Market value'])
Я хочу преобразовать числа в этом столбце в формат миллионов и сотен тысяч, например:
  • 3000000 -> 3 млн евро
  • 2500000 -> 2,5 млн евро
  • 1800000 -> 1,8 млн евро
  • 800000 -> 800 тысяч евро
  • 500000 -> 500 тысяч евро
Это моя попытка:

Код: Выделить всё

df['Market Value'] = np.select(condlist = [(df['Market value']/1000) >= 1000],
choicelist = ['€'+(df['Market value'].astype(float)/1000000).astype(int).astype(str) + 'M'],
default = '€'+(df['Market value'].astype(float)/1000).astype(int).astype(str) + 'K')
В результате получается:
  • 3000000 -> 3 миллиона евро
  • 2500000 -> 2 миллиона евро * это должно быть 2,5 миллиона евро
  • 1800000 -> 1 миллион евро * это должно быть 1,8 миллиона евро >
  • 800000 -> 800 тыс. евро
  • 500000 -> 500 тыс. евро


Подробнее здесь: https://stackoverflow.com/questions/735 ... ing-format

Вернуться в «Python»