草庐IT

floating-planet

全部标签

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.

python - Sklearn 尝试将字符串列表转换为 float

我正在尝试使sklearn.svm.SVC(kernel="linear")算法工作。我的X是一个由[misc.imread(each).flatten()foreachinfilenames]组成的数组,我的y2是一个由字符串组成的列表的一部分,例如["A","1","4","F"..]。当我尝试clf.fit(X,y2)时,sklearn尝试将我的字符串列表转换为float但失败,抛出ValueError:couldnotconvertstringtofloat。我该如何解决这个问题?编辑:将sklearn升级到0.15解决了问题。 最佳答案