Как отформатировать вывод float, чтобы они имели два знака после запятой? - PullRequest
0 голосов
/ 09 ноября 2018

это должно быть очень простой проблемой, но у меня сейчас труднее, чем ожидалось. Я хочу, чтобы мои поплавки были превращены в строки, но только до 2-го знака после запятой. то, что у меня работает, за исключением нескольких значений, которые решают расширить более 2 десятичных знаков. Вот то, что я сейчас пытаюсь:

for i in range(len(self.monthlyData)):
        t = self.monthlyData[i] * 100
        '{0:.2}'.format(t)
        t = str(t) + " %"
        self.monthlyData[i] = t

Я бы хотел, чтобы мои значения были десятичными после знака%. поэтому я бы хотел, чтобы это выглядело так: «19,58%», и, как я уже сказал, оно работает с большинством значений, но с некоторыми значениями, такими как 29.080000000000002, и остается таким.

1 Ответ

0 голосов
/ 09 ноября 2018

Способ выполнения задачи:

for i in range(len(self.monthlyData)):
    t = '{0:.2%}'.format(self.monthlyData[i])
    self.monthlyData[i] = t

А если серьезно, вам не нужно циклически перебирать столбец pandas для пересмотра значений. Более хорошим подходом был бы метод apply с lambda:

self.monthlyData.apply(lambda x: '{0:.2%}'.format(x))

Более подробную информацию вы можете найти в официальной документации

...