草庐IT

浮点数

全部标签

python - Pandas 读取具有浮点值的 csv 文件导致奇怪的舍入和小数位

我有一个包含数值的csv文件,例如1524.449677。总是有6位小数。当我通过pandasread_csv导入csv文件(和其他列)时,该列自动获取数据类型object。我的问题是这些值显示为2470.6911370000003,实际上应该是2470.691137。或者值2484.30691显示为2484.3069100000002。这在某种程度上似乎是一个数据类型问题。我试图在通过read_csv导入时明确提供数据类型,方法是将dtype参数指定为{'columnname':np.float64}。问题仍然没有消失。我怎样才能让导入的值与源csv文件中的值完全一样?

python - 你如何获得浮点序列中的下一个值?

这个问题在这里已经有了答案:IncrementaPythonfloatingpointvaluebythesmallestpossibleamount(15个回答)4年前关闭。Python是否提供了一个函数来获取由递增现有浮点值的最低有效位产生的浮点值?我正在寻找类似于std::nextafter的东西在C++11中添加的函数。 最佳答案 这里有五个(实际上是四个半)可能的解决方案。解决方案1:使用Python3.9或更高版本Python3.9于2020年10月发布,包含一个新的标准库函数math.nextafter直接提供此功能:

python - 如何将 Python 日期时间日期转换为十进制/浮点年

我正在寻找一种方法将日期时间对象转换为十进制(/float)年份,包括小数部分。示例:>>>obj=SomeObjet()>>>obj.DATE_OBSdatetime.datetime(2007,4,14,11,42,50)如何将datetime.datetime(2007,4,14,11,42,50)转换为十进制年份。我所说的十进制格式是指浮点值2007.4523,其中小数部分是从年初(2007-01-01到2007-04-14)开始的秒数除以总数那一年的秒数(2007-01-01到2008-01-01)。(注意:在统计建模中(例如线性回归),这称为“时间索引”)

python - 如何从变量指定浮点小数精度?

我将以下重复的简单代码重复了几次,我想为其创建一个函数:foriinrange(10):id="someidstringlookedupindict"val=63.4568900932840928#somefloatingpointnumberindictcorrespondingto"id"tabStr+='%-15s=%6.1f\n'%(id,val)我希望能够调用这个函数:defprintStr(precision)它执行上面的代码并返回tabStr,val到precision小数点。例如:printStr(3)将为tabStr中的val返回63.457。有什么想法可以实现这种功

python - 如何在 python 3 中将浮点字符串转换为整数

我是整个编码领域的新手……所以开始吧。只是想写一个简单的猜数字游戏,还要做输入验证。因此只接受整数作为输入。我已经想出如何去除字母字符,所以我可以将数字转换为整数。我在输入float时遇到了麻烦。我无法将float转换为整数。任何帮助表示赞赏。正如我所说的,我大约在这个编码的第3天,所以请尝试了解我的小知识。提前致谢。这是我的主程序中的函数。defvalidateInput():whileTrue:globaluserGuessuserGuess=input("Pleaseenteranumberfrom1to100.")ifuserGuess.isalpha()==False:use

python - Bokeh:ValueError:超出范围的浮点值不符合 JSON 标准

我遇到了这个讨论(一年前):https://github.com/bokeh/bokeh/issues/2392我也看到了没有任何错误的白屏..然后我尝试取一小部分2列并尝试以下操作:由于pandas也只是得到一堆包含空数据的行,所以我尝试了dropna..这导致根本没有数据。所以我只是指定了应该进入df的行(因此df=df.head(n=19)行)importpandasaspdfrombokeh.plottingimportfigure,output_file,showdf=pd.read_excel(path,sheetname,parse_cols="A:B")df=df.he

python - 每个 bin 中点数相等的直方图

我有一个排序向量points有100个点。我现在想创建两个直方图:第一个直方图应该有10个宽度相等的bin。第二个也应该有10个直方图,但不一定是等宽的。第二,我只希望直方图在每个bin中具有相同数量的点。因此,例如,直方图中的第一个条形可能非常短且宽,而直方图中的第二个条形可能非常高且窄。我有使用matplotlib创建第一个直方图的代码,但现在我不确定如何创建第二个直方图。importmatplotlib.pyplotaspltpoints=[1,2,3,4,5,6,...,99]n,bins,patches=plt.hist(points,10)编辑:尝试下面的解决方案,我有点困

python - 如何在 Python 中将一系列浮点值合并到直方图中?

我有一组浮点值(总是小于0)。我想将其放入直方图中,IE。直方图中的每个条包含值范围[0,0.150)我的数据是这样的:0.0000.0050.1240.0000.0040.0000.1110.112使用下面的代码,我希望得到如下所示的结果[0,0.005)5[0.005,0.011)0...etc..我尝试用我的这段代码进行这样的装箱。但这似乎不起作用。正确的做法是什么?#!/usr/bin/envpythonimportfileinput,mathlog2=math.log(2)defgetBin(x):returnint(math.log(x+1)/log2)diffCounts

python - 如何将二进制(字符串)转换为浮点值?

我想将二进制数转换为float。这是一个可能性的例子:>>>float(-0b1110)给我正确的输出:-14.0不幸的是,我正在使用二进制字符串,即,我需要类似float('-0b1110')的东西。但是,这不起作用:>>>float('-0b1110')Traceback(mostrecentcalllast):File"",line1,inValueError:invalidliteralforfloat():-0b1110我尝试使用binascii.a2b_qp(string[,header])将引用可打印数据block转换回二进制并返回二进制数据。但最终,我得到了同样的错误:

python - Numpy 浮点舍入错误

在搜索一些numpy的东西时,我遇到了一个讨论numpy.dot()舍入精度的问题:Numpy:Differencebetweendot(a,b)and(a*b).sum()因为我的table上正好有两台(不同的)带有Haswell-CPU的计算机,它们应该提供FMA和所有东西,我想我会测试Ophion在第一个答案中给出的例子,我得到的结果是让我有些吃惊:更新/安装/修复lapack/blas/atlas/numpy后,我在两台机器上都得到了以下信息:>>>a=np.ones(1000,dtype=np.float128)+1e-14>>>(a*a).sum()1000.0000000