当前位置:   article > 正文

为什么python除法结果会有小数点0_数据分析番外篇07_Python的除法居然是这样的...

python计算结果为什么会留小数位

前天的一次数据试验,由于没有搞懂Python中除法的性质,导致浪费了一个上午的时间在那里纠结,汗。。。

数据试验的背景是想研究一下如下函数变化的性质,并将其可视化

Y= (A-B)/(A+B)

初步的想法是利用Python产生随机数来进行模拟试验,首先固定“A+B”的值,如A+B=1000来尝试研究一下在B变化的情况下,Y和B的关系,其实这个关系非常简单,当A+B固定后,“A-B”可以表达为“A+B”-2B。很明显这个时候B和Y是一个简单的线性关系。理论上已经知道了结果了,开始尝试代码实现吧,哪知结果出乎预料。

这是什么鬼,如此之完美的逻辑回归分类函数?是不是让你想到了Sigmoid函数图像。

通过输出Y值,能看到除了0就是-10,这明显是除法数值被取整了呀,那问题到底出在那里呢?以前使用Python做运算的时候,并没有遇到类似的问题。难道又是因为数据维度的问题?尝试了各种随机数产生的方法,有时候会是线性函数,有时候就如上图。百思不得其解(请原谅一个刚刚学习编程的老年人的对语言的认知水平)

通过查询,原来Python的除法分为Ture除法和floor除法,在3.0版以前的Python中的除法跟数的类型相关,如果是两个整数相除,程序执行的是floor除法,自动将结果取整。如果运算中包含了浮点数,程序则执行true除法,会获得精确的除法结果。3.0以后的版本中的除法则不与参与除法的数据的类型相关,一律采用true除法。想要让3.0版以前的Python执行true除法,需要在做运

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/378701
推荐阅读
相关标签
  

闽ICP备14008679号