資料分析 day02 numpy Nan和inf

2021-10-01 20:40:59 字數 1676 閱讀 9349

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,替換之後的均值肯定會變小,所以更一般的方式是把缺失的數值替換為均值(中值)或者是直接刪除有缺失值的一行

# -*- 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,一般情況下仍然...