【python浮点数与整数间的转化】教程文章相关的互联网学习教程文章

python-将浮点数转换为字符串而无需科学计数法【代码】

浮点数:fl = 0.000005将字符串转换为str(fl)==’5e-06′.但是,我希望将其转换为str(fl)=’0.000005’以便导出到CSV. 我该如何实现?解决方法:采用fl = 0.00005 s = str('%8.5f' % fl) print s, type(s)给0.00005 <type 'str'>如果您不需要多余的数字,请使用%gfl = 0.0005 s = str('%g' % fl) print s, type(s)fl = 0.005 s = str('%g' % fl) print s, type(s)给0.0005 <type 'str'> 0.005 <type 'str'>

python-使用unicode粗俗的分数创建紧凑/对人类友好的浮点数【代码】

是否有任何模块(最好是在标准库中)可以将浮点数转换为更人性化的模块?也许它不是更人性化,但至少更紧凑. 例如. 4.625将变成“4?” (用于识别pi的合理精度的布朗尼积分) 这段代码概述是我能想到的最好的代码:import unicodedatadef simplify_float(number):vf = "VULGAR FRACTION "vulgars = {0.125 : unicodedata.lookup(vf + "ONE EIGHTH"),0.2 : unicodedata.lookup(vf + "ONE FIFTH"),0.25 : unicodedata.lookup(vf + "ONE...

Python正则表达式字符串数组到浮点数组【代码】

我是python正则表达式的初学者.我达到了我所需要的,但是由于缺少经验,这真的很丑.我的目标是转换以下形式的字符串数组:notes = ["10.0% higher", "5.0% lower", "Same as", "21.2% lower"]到一个float数组,这样上面的数组将产生:changes = [10.0,-5.0,0,-21.2]下面的代码实现了这一点,但确实是重复的和糟糕的样式.我该如何优化呢?changes = [] for note in notes:m = re.search(r"(?:(\d+\.\d+\%\shigher)|(\d+\.\d+\%\slower)|...

python-熊猫将科学计数形式的浮点数转换为字符串【代码】

我用read_csv()加载了一个看起来像这样的数据集userid NaN 1.091178e+11 1.137856e+11我想将用户ID转换为字符串.一种解决方案是将keep_default_na = False添加到read_csv(),此SO建议这样做:Converting long integers to strings in pandas (to avoid scientific notation) 假设我不想使用keep_default_na = False.有什么办法可以将用户ID列转换为str. 我尝试了df.userid.astype(str)并得到了1.091178e 11.我期待扩展形式而不是科学...

如何在python中将小数点后的浮点数/小数适当地截断到特定位置?【代码】

在Python 2.7.3中,这是当前行为:>>> 8./9. 0.8888888888888888 >>> '%.1f' % (8./9.) '0.9'小数也是如此:>>> from decimal import Decimal >>> Decimal(8) / Decimal(9) Decimal('0.8888888888888888888888888889') >>> '%.1f' % (Decimal(8) / Decimal(9)) '0.9'我本来希望截断,但是它似乎是完整的.那么我的选择是将其截断到十分之一吗? 仅供参考,我想问一下,因为我当前的解决方案似乎很棘手(但也许是最佳实践?),因为它可以得...

python-Numpy-两个浮点数与浮点类型的精度之间的差异【代码】

我正在查看numpy.finfo并执行以下操作:In [14]: np.finfo(np.float16).resolution Out[14]: 0.0010004 In [16]: np.array([0., 0.0001], dtype=np.float16) Out[16]: array([ 0. , 0.00010002], dtype=float16)看来向量可以存储两个数字,使得它们的差比类型的分辨率小10倍.我想念什么吗?解决方法:浮点数在起始数字后具有固定的分辨率.这个数字告诉您的是,当第一个数字位于1.0位置时,数字的分辨率是多少.您可以通过尝试将...

python-如何在命令行中读取浮点数?【代码】

如何在命令行中读取浮点数或整数?test.py 11 22.4 11.7 99.9 69我试过了:numbersList = float(sys.argv[1:len(sys.argv)])解决方法: import sys args = map(float, sys.argv[1:])或者,如果您更喜欢列表理解:args = [float(x) for x in sys.argv[1:]]

python-根据条件有效地反转列表中的浮点数【代码】

我有一个浮点数ndarray(a)和一个0或1(b)的列表. a和b具有相同的长度,通常为1000.我想对索引与b中的1对应的a的元素应用一个简单的函数(例如,减去逆数). 以下方法花费不到1毫秒的时间.是否有可能使其更快?import numpy as np# generate dummy data n = 1000 a = np.random.uniform(low=0, high=10, size=n) b = np.random.choice(2, 1000)# map the function start = time.time() out = [a[i] if b[i] == 0 else -1/a[i] for i in r...

python-Flask路由在URL中提供带有浮点数的404【代码】

我的Flask应用程序的server.py中具有以下路由定义:@app.route('/nearby/<float:lat>/<float:long>') def nearby(lat, long):for truck in db.trucks.find({'loc': {'$near': [lat, long]}}).limit(5):if truck.has_key('loc'):del truck['loc']return json.dumps(trucks)但是当我转到http:// localhost:5000 / nearby / 37.7909470419234 / -122.398633589404时,我得到了404. 其他路线工作正常,因此这是一个问题.我在这里做错了...

如何在python中将293.4662543之类的浮点数转换为293.47?【代码】

如何缩短我得到的浮动结果?点后面我只需要2位数.对不起,我真的不知道如何用英语更好地解释这个…… 谢谢解决方法:来自浮点指南的Python cheat sheet:"%.2f" % 1.2399 # returns "1.24" "%.3f" % 1.2399 # returns "1.240" "%.2f" % 1.2 # returns "1.20"使用round()是不对的,因为浮点数是binary fractions,不能准确表示十进制数字. 如果需要使用十进制数字进行计算,请在十进制模块中使用十进制类型.

如何使Python格式浮点数具有一定数量的有效数字?【代码】

我希望我的Python(2.4.3)输出数字具有某种格式.具体来说,如果数字是终止小数,且有< = 6位有效数字,则显示全部.但是,如果它有> 6位有效数字,最后只输入6位有效数字. “A”显示了Python如何编写浮点数. “B”表示我希望他们写的方式.如何以这种方式使Python格式化我的数字?A: 10188469102.605597 5.5657188485 3.539 22.1522612479 0 15.9638450858 0.284024 7.58096703786 24.3469152383B: 1.01885e+10 5.56572 3.539 22.1523 0 15...

python – 在numpy中查找浮点数组的唯一元素(使用delta值进行比较)【代码】

我在numpy中有一个浮点值的ndarray,我想找到这个数组的唯一值.当然,这有问题,因为浮点精度……所以我希望能够在确定哪些元素是唯一的时候设置一个delta值用于比较. 有没有办法做到这一点?目前我只是在做:unique(array)这给了我类似的东西:array([ -Inf, 0.62962963, 0.62962963, 0.62962963, 0.62962963,0.62962963])其中看起来相同的值(显示的小数位数)显然略有不同.解决方法:在某些情况下,地板和圆形是否都不符合OP...

Python十进制模块 – 不希望的浮点数输出?【代码】

我想这非常简单 – 但为什么以下是y的两个值= = 0?我认为十进制模块的重点是摆脱浮尘……下面是一个数学例程的极简化版本,它将数字作为变量传递.from decimal import * getcontext().prec = 2q = Decimal(0.01)x = Decimal(0.10) * Decimal(0.10)y = Decimal(x) - Decimal(q)print(x,y, Decimal(y))''' x== 0.010 y== -2.1E-19 Decimal(y) == -2.1E-19 '''解决方法:尝试将数字指定为字符串>>> Decimal('0.10') * Decimal('0.10...

python – excel文件中的整数成为浮点数?【代码】

我使用xlrd从excel文件中读取数据. 对于存储在文件中的整数,假设为63,xlrd将其解释为类型编号为63.0. 为什么xlrd不能将63识别为整数? 假设sheet.row(1)[0] .value给出63.0.如何将其转换回63.解决方法:看看documentation中的不同单元格类型,似乎单元格没有任何整数类型,它们只是浮点数.因此,即使你写了一个整数,这也是你得到浮动的原因. 要将float转换为整数,只需使用int:>>> int(63.0) 63 >>> int(sheet.row(1)[0].value) 63

Python浮点数比较【代码】

我只是回顾一些Python的基础知识,并且在比较浮点数方面存在一个棘手的问题.2.2 * 3.0 == 6.6 3.3 * 2.0 == 6.6我以为这些都应该返回False.然而,第二个给了我一个真实. 请帮帮我.谢谢!解决方法:这可能很有启发性:>>> float.hex(2.2 * 3.0) '0x1.a666666666667p+2' >>> float.hex(3.3 * 2.0) '0x1.a666666666666p+2' >>> float.hex(6.6) '0x1.a666666666666p+2'虽然它们都以十进制显示为6.6,但是当您检查内部表示时,其中两个以相同...