【数据分析】numpy中的nan和常用统计方法 No.5
一、nan和inf
1、 nan(NAN,Nan):not a number 表示不是一个数字
什么时候会出现nan呢?
当我们读取本地文件为float的时候,如果有缺失或者当做了一个不合适的计算的时候,比如无穷大减去无穷大,就会出现nan。。
2、inf(-inf,inf):inf表示正无穷大,-inf表示负无穷大
什么时候会出现inf呢?
数字除以0的操作,python中会报错,numpy中为inf或者-inf。
a = np.nan |
F:\Python\3.7\python.exe E:/PythonProject/Scripts/data_analysis.py nan <class 'float'> inf <class 'float'> Process finished with exit code 0 |
二、nan的注意点
1、两个nan是不相等的(np.nan != np.nan)
print((np.nan == np.nan)) |
False True |
2、判断数组中nan的个数(利用上述特性):
array1 = np.array([1.,2.,3., np.nan, np.nan]) |
3 [False False False True True] 2 |
3、判断数字是否为nan:
array1 = np.array([1., 2., 3., np.nan, np.nan]) |
[ True True True False False] [False False False True True] |
4、替换所有nan为0:
array1 = np.array([1., 2., 3., np.nan, np.nan]) |
[1. 2. 3. 0. 0.] |
5、nan和其他值的计算均为nan
array1 = np.array([1., 2., 3., np.nan, np.nan])
|
F:\Python\3.7\python.exe E:/PythonProject/Scripts/data_analysis.py [10. 11. 12. nan nan] [ 0. 0. 0. nan nan] nan nan Process finished with exit code 0 |
三、常用统计方法