这应该是一个非常简单的问题,但我在这方面遇到的困难比预期的要困难。我想让我的 float 变成字符串,但仅限于小数点后第二位。除了一些决定扩展超过 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 并保持这样。
最佳答案
我完成任务的方式:
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))
更多信息可以查看官方documentation
关于python - 如何格式化 float 的输出,使其在小数点后有两位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53216628/