草庐IT

float_precision

全部标签

python - 在 python 列表中查找最小 float 的最有效方法

快题,在长列表(10000+元素)中寻找最小数字(float)效率更高是吗min(mylist)或mylist.sort()然后返回mylist[0]或者别的……谢谢! 最佳答案 首先,如果您关心Python的性能(这并不总是一件值得关心的事情,但那是另一回事),您应该使用timeitmodule.即使在C中,也很难预测某些函数在编译后的行为,而在Python中更难。人们经常自信地表达关于哪些功能更快哪些依赖于数据的意见。然后——通过使用timeit,我的意思是——你可以自己发现。其次,如果您真的关心浮点列表的性能,您根本不应该使用

Python - 具有有限小数位的随机 float

我刚刚发现如何在Python中生成随机数,但如果我将它们打印出来,它们都有15位十进制数字。我该如何解决?这是我的代码:importrandomimportosgreaterThan=float(input("Yournumberwillbegreaterthan:"))lessThan=float(input("Yournumberwillbelessthan:"))digits=int(input("Yournumberwillthatmanydecimaldigits:"))os.system('cls')ifdigits==15:print(random.uniform(gre

python - 如何在 TensorFlow 中模拟降低精度的 float ?

我想要一种方法来将TensorFlow中float的精度(大约:截断尾数)降低到定义的完整范围内的任意位数。我不需要完全以降低精度编写代码(如tf.float16),而是想出一系列操作来降低张量的精度,同时保留其原始类型(例如tf.float32)。例如,如果完整范围是0到1,精度是8位,则0.1234将变为round(0.1234*256)/256=0.125。这使用简单的舍入。我还想进行统计舍入,其中在每个方向上舍入的概率与值与该值的距离成正比。例如,0.1234*256=31.5904,在59%的情况下会四舍五入到32/256,在41%的情况下会四舍五入到31/256。额外问题:

python - 将 "integer" float 转换为 int 总是会返回最接近的整数吗?

我通过将两个数字相除得到一个float。我知道数字是可以整除的,所以我总是有一个整数,只是它是浮点型的。但是,我需要一个实际的int类型。我知道int()会去掉小数点(即四舍五入)。我担心因为花车不准确,如果我这样做,例如int(12./3)或int(round(12./3))它可能最终为3而不是4,因为4的浮点表示可能是3.9999999593519561(不是,只是一个例子)这会发生吗?我能确保它不会发生吗?(我问是因为在reshape一个numpy数组时,我收到一条警告说形状必须是整数,而不是float。) 最佳答案 将flo

python - 为什么 Python 的 float 会为一些非常长的输入引发 ValueError?

在x64上的Python2.7.9上,我看到以下行为:>>>float("10"*(2**28))inf>>>float("10"*(2**29))Traceback(mostrecentcalllast):File"",line1,inValueError:couldnotconvertstringtofloat:10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101

python - 使用 Python 在 quantlib 中为 float 债券定价

我正在尝试使用Quantlib(v1.2)SWIG包装器在python中为非常基本的float利率债券定价。我修改了文档中包含的示例。我的债券期限为4年。libor设置为10%,债券利差为0。我的问题是,如果我以10%的利率贴现,为什么债券的现值不是100?我得到的值为99.54。谢谢!fromQuantLibimport*frequency_enum,settle_date=4,Date(5,1,2010)maturity_date=Date(5,1,2014)face_amount=100.0settlement_days=0fixing_days=0calendar=NullCa

python - fractions.Fraction() 返回不同的 nom.,denom。解析 float 或其字符串表示形式时对

我知道floatingpointmath的性质但我仍然发现以下内容令人惊讶:fromfractionsimportFractionprint(Fraction(0.2))#->3602879701896397/18014398509481984print(Fraction(str(0.2)))#->1/5print(Fraction(0.2)==Fraction(str(0.2)))#returnsFalseprint(0.2==float(str(0.2)))#butthisreturnsTrue!来自documentation我找不到任何可以解释的东西。它确实声明:...Inadd

python - 带下划线的 NumPy 类型 : `int_` , `float_` 等

int_、float_等中下划线后缀的意义是什么? 最佳答案 来自GuidetoNumpy的第21页通过TEOliphant:NamesforthedatatypesthatwouldclashwithstandardPythonobjectnamesarefollowedbyatrailingunderscore,’’.ThesedatatypesaresonamedbecausetheyusethesameunderlyingprecisionasthecorrespondingPythondatatypes....Thearr

python - 获取东方 ='records' 的 python pandas to_dict 但没有 float 转换

我有一个带有一个colint和一个colfloat的数据框:df#ab#0342.00#123.14df.dtypes#aint64#bfloat64#dtype:object我想要一个像df.to_dict(orient='records')提供的那样的字典列表df.to_dict(orient='records')[{'a':3.0,'b':42.0},{'a':2.0,'b':3.1400000000000001}]但a为int,不转换为float 最佳答案 目前(从Pandas版本0.18开始),df.to_dict('re

python - 按列对 NumPy float 组进行排序

正在关注thistrick为了获取NumPy数组的唯一条目,我现在有一个双列数组,基本上是成对的,第一个元素在范围[0.9:0.02:1.1]中,第二个元素在范围[1.5:0.1:2.0]中。我们称它为A。目前,它是完全未排序的,即In[111]:AOut[111]:array([[1.1,1.9],[1.06,1.9],[1.08,1.9],[1.08,1.6],[0.9,1.8],...[1.04,1.6],[0.96,2.],[0.94,2.],[0.98,1.9]])我想对其进行排序,以便每一行首先在第二列中增加,然后是第一列。即array([[0.9,1.5],[0.9,1.