python - 如何更改将 float('inf') 转换为 str 的 python 方式?
问题描述
我的应用程序正在处理数字,其中是 pythons float('inf')
。问题是我希望将这样的数字转换为完整的单词:"Infinity"
。
for x in [float('inf'), float(5.0)]:
print(x)
结果:
inf
5.0
我希望它是:
Infinity
5.0
我可以以某种方式设置无限在字符串中的表示方式吗?
当然我可以做类似下面的方法:
def cast_num(num):
if num == float('inf')
return 'Infinity'
else:
return str(num)
但是这种方法成本很高——它必须处理每个数字。
有更好的选择吗?
python中有一些我可以设置的标志吗?(如“setlocale”)
解决方案
使用numpy
,这对您来说可能是一个很好的解决方案:
import numpy as np
x = np.array([2.0, float('inf'), 5.0], dtype='<U8')
x[x=='inf'] = 'Infinity'
x
推荐阅读
- ubuntu - 为 ARM 编译时,Openssl 无法编译,否则工作正常
- javascript - this2.props.addToList 未定义,列表创建错误
- azure - Remove-AzDeployment 不会删除创建的资源
- php - 如何配置 ext-ldap php
- plsql - 成功执行时Oracle存储过程未将数据插入表中
- python - 从另一个方法kivy调用类方法
- c# - 更好的对象列表设置器
- python - 向 Dataframe 添加一列,该列将使用函数获取值 True 或 False
- python - python的多个异常
- javascript - 如何删除在 jquery 中单击时具有 %20 的 url 参数