首页 > 编程知识 正文

python计算结果nan,python计算结果保留一位小数

时间:2023-12-27 22:27:35 阅读:326304 作者:LMPX

本文目录一览:

请教python里有NaN这个东西吗

Python 中表示 Not A Number 使用小写的 nan

可以这样定义一个 nan

a = float('nan')

或者

from decimal import Decimal

a = Decimal('nan')

最常见的计算有 无穷大 减 无穷大 结果为 nan

float('inf') - float('inf')

判断一个数是不是 nan

import math

print(math.isnan(a))

nan 和 nan 的比较关系是 nan != nan

所以如果一个数 自身不等于自身 也可以判断为 nan 类型

另外 numpy 里也有 NaN 的类型,不过不属于 Python 原生就不说了

在使用python中的concat 函数时,有一个数据显示nan 是怎么回事?

说明你的样本数据中有nan值,通常是因为原始数据中包含空字符串或None值引起的。

解决办法是把样本数据中包含nan值的数据剔除,

或者如果样本数据都是数值的话可以把nan值都改成0。

认识python中的inf和nan

认识python中的inf和nan

python中的正无穷或负无穷,使用float("inf")或float("-inf")来表示。

这里有点特殊,写成:float("inf"),float("INF")或者float('Inf')都是可以的。

当涉及 和 比较时,所有数都比无穷小float("-inf")大,所有数都比无穷大float("inf")小。

相等比较时,float("+inf")与float("+inf")、float("inf")三者相等。即:

同样地,float("-inf") == float("-inf") 返回也是True。

简单的加,减,乘操作,还是会返回无穷。

特别地,0 * float('inf') 结果为:nan

float('inf') / float('inf') 结果为:nan

float('inf') - float('inf') 结果为:nan

float('-inf') - float('-inf') 结果也为:nan

nan代表Not A Number(不是一个数),它并不等于0

因为nan不是一个数,所以相关计算都无法得到数字。

所有涉及nan的操作,返回的都是nan。

结果都是:nan

比较操作时,返回的都是False

特别注意两个float('nan')并不相等!

python中可以用math.isinf()与math.isnan()来判断数据是否为inf或nan。

numpy中也有相类似的方法可用来判断数据。

动手测试题:

0 / float('inf') == 0 / float('-inf') 结果是True 还是False?

参考资料:

Python 关于正负无穷float(‘inf’)的一些用法

Stackoverflow.com上的问答:What is inf and nan?

数据库中的空值与NULL的区别以及python中的NaN和None

null表示:不可用、未赋值、不知道、不适用,它既不是0也不是空格。记住:一个数值与null进行四则运算,其结果是null

空值和null的区别在于,在做count计算的时候:count(field_name),field_name的值为空值也会被计算在里面(这一行统计有效),而null不会

python有两种方式获取数据:

1.

一种是把数据从mysql

中导出到txt或者csv,然后本地读取;

2.

另一种是python直接链接数据库,读取数据;

第一种把数据从mysql导出后,python读取时,空值和null在文件中都为null;python读取之后为nan

第二种链接数据库后,python能读取表结构,数据库的null对应列表中的none以及pandas中的nan(如果字段类型是时间,则为nat)。而数据库中的空字符,则被识别为空字符。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。