python-3.x - Python数字格式
问题描述
我对 Python 很陌生。我有一个名为数量列的 DataFrame。我可以使用df['QTY']
.
我需要如下格式值
0.00 -> 0
12.0 -> 12
100.00 -> 100
12.00 -> 12
12 -> 12
123.34 -> 123.34
我已经尝试过,每个人都在举例 xx.yy
并展示格式化,但我将组合xx.00
,xx.yy
并且xx
只有。
我的问题与在没有多余零的情况下在 Python 中格式化浮点数不同
它在那里将 3.140 转换为 3.14。在我的情况下 3.140 必须转换为 3.140 并且 3.00 必须转换为 3
解决方案:
我最终如下
for row in df.iterrows():
if row['QTY'].is_integer():
df['QTY'] = "{:,}".format(int(row['QTY']))
else:
df['QTY'] = "{:,}".format(float(row['QTY']))
现在我的 df['QTY'] 具有格式良好的所有值。
解决方案
>>> b = 123.34
>>> print (("%%12.%df" % (0 if b == round(b) else 2)) % b).strip()
推荐阅读
- c++ - C++ fstream peek 导致写入失败
- git - 如何在 Azure DevOps 的管道中向远程分支发出拉取请求?
- python - 列表索引适用于 macOS 但不适用于 Windows?
- c++ - C++中的向量重载
- ubuntu-18.04 - 如何用 libjpeg-turbo8 而不是 libjpeg 编译 libvips
- flutter - 使用 ShaderMask 将边框半径应用于小部件
- python - 如何将我的 Pygame 游戏“blit”到 OpenGL 表面上?
- android - 任务':android:transformClassesAndResourcesWithProguardForRelease'的java.lang.NullPointerException和执行失败
- javascript - Javascirpt:如何将 JSON 响应作为参数从 onreadystatechange 传递?
- list - 在 Prolog 中保持顺序的同时删除重复项