1.nan(nan,nan):not a number表示不是乙個數字,當我們讀取本地的檔案為float的時候,如果有缺失,就會出現nan2.當做了乙個不合適的計算的時候(比如無窮大(inf)減去無窮大)
3.兩個nan是不相等的
4.nan與任何值計算都為nan
5.判斷數字是否為nan,用np.isnan(x)
6.判斷含有nan的個數用np.count_nonzero(e!=e)
7.比如,全部替換為0後,替換之前的平均值如果大於0,替換之後的均值肯定會變小,所以更一般的方式是把缺失的數值替換為均值(中值)或者是直接刪除有缺失值的一行
# -*- coding: utf-8 -*-
# @file : numpy_nan_inf_demo.py
# @date : 2019-12-30 19:04
# @author : admin
import numpy as np
t=np.arange(24).reshape(4,6)
print(t)
print(type(t))
#表達的意思是:矩陣中的元素如果大於20,則替換成1,否則替換成0,相當於三目運算子
c=np.where(t>20,1,0);
print(c)
print("***************====裁切*****=")
#裁切,表達的意思為:小於10則替換成10,大於等於18,則替換成18
d=t.clip(10,18)
print(d)
print("***************====設定nan*****=")
'''1.nan(nan,nan):not a number表示不是乙個數字,當我們讀取本地的檔案為float的時候,如果有缺失,就會出現nan
2.當做了乙個不合適的計算的時候(比如無窮大(inf)減去無窮大)
3.兩個nan是不相等的
4.nan與任何值計算都為nan
5.判斷數字是否為nan,用np.isnan(x)
6.判斷含有nan的個數用np.count_nonzero(e!=e)
7.比如,全部替換為0後,替換之前的平均值如果大於0,替換之後的均值肯定會變小,所以更一般的方式是把缺失的數值替換為均值(中值)或者是直接刪除有缺失值的一行
'''#將元素為10的則替換成nan,否則為1,不改變原矩陣中元素的值,而是另開闢乙個矩陣將修改後的結果賦值給它
e=np.where(d==10,np.nan,1)
print(e)
print("判斷nan的個數",np.count_nonzero(e!=e))
print("判斷nan的個數",np.count_nonzero(e[e!=e]))
#設定為判斷資料元素是否為nan,對nan賦值,之間修改原矩陣中元素的值
e[np.isnan(e)]=44
print(e)
print("***************====設定inf*****=")
'''inf(-inf,inf):infinity,inf表示正無窮,-inf表示負無窮,比如乙個數字除以0,(python中直接會報錯,numpy中是乙個inf或者-inf)
'''e=np.where(d==10,np.inf,1)
print(e)
零基礎學習資料分析Day02
繪製一條基本的折線 xarray 水平座標序列 yarray 垂直座標序列 xarray np.arange 1,9 yarray np.array 6,5,8,7,78,12,20,45 mp.plot xarray,yarray mp.show 顯示圖表 01.png 繪製一條水平直線 繪製水平...
資料分析 Day04
1.刪除重複行 刪除重複行的處理步驟 1.判斷重複項 2.重複項處理 1 取非重複項 cond df.duplicated 引數 keep last subset a b c 2 刪除重複項 df.loc cond df.drop duplicates 2.對映 2.1 替換元素 df.replac...
02 資料分析 numpy的使用
名稱 描述bool 布林型資料型別 true 或者 false int預設的整數型別 類似於 c 語言中的 long,int32 或 int64 intc 與 c 的 int 型別一樣,一般是 int32 或 int 64 intp 用於索引的整數型別 類似於 c 的 ssize t,一般情況下仍然...