【问题标题】:How to format outputof floats so they have two places after decimal point?如何格式化输出浮点数,使它们在小数点后有两位?
【发布时间】:2018-11-08 21:46:15
【问题描述】:

这应该是一个非常简单的问题,但我遇到的问题比预期的要艰难。我想让我的花车变成字符串,但只能到小数点后第二位。除了一些决定扩展超过 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 并保持这样。

【问题讨论】:

  • 你没有对'{0:.2}'.format(t)做任何事情。
  • 也应该是'{0:.2f}'

标签: python string python-3.x formatting python-3.6


【解决方案1】:

我做任务的方式:

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找到更多信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    • 2016-10-04
    • 1970-01-01
    相关资源
    最近更新 更多