import pandas as pdimport numpy as np
'''有時候我們匯入或處理資料, 會產生一些空的或者是 nan 資料,如何刪除或者是填補這些 nan 資料就是我們今天所要提到的內容.
建立了乙個6x4的矩陣資料並且把兩個位置置為空.
'''dates = pd.date_range('20130101', periods=6)
df = pd.dataframe(np.arange(24).reshape((6,4)),index=dates, columns=['a','b','c','d'])
df.iloc[0,1] = np.nan
df.iloc[1,2] = np.nan
""" a b c d
2013-01-01 0 nan 2.0 3
2013-01-02 4 5.0 nan 7
2013-01-03 8 9.0 10.0 11
2013-01-04 12 13.0 14.0 15
2013-01-05 16 17.0 18.0 19
2013-01-06 20 21.0 22.0 23
"""'''
pd.dropna() 去掉
如果想直接去掉有 nan 的行或列, 可以使用 dropna
'''df.dropna(
axis=0, # 0: 對行進行操作; 1: 對列進行操作
how='any' # 'any': 只要存在 nan 就 drop 掉; 'all': 必須全部是 nan 才 drop
)""" a b c d
2013-01-03 8 9.0 10.0 11
2013-01-04 12 13.0 14.0 15
2013-01-05 16 17.0 18.0 19
2013-01-06 20 21.0 22.0 23
"""'''
pd.fillna(value=) 代替
如果是將 nan 的值用其他值代替, 比如代替成 0:
'''df.fillna(value=0)
""" a b c d
2013-01-01 0 0.0 2.0 3
2013-01-02 4 5.0 0.0 7
2013-01-03 8 9.0 10.0 11
2013-01-04 12 13.0 14.0 15
2013-01-05 16 17.0 18.0 19
2013-01-06 20 21.0 22.0 23
"""# pd.isnull()
## 判斷是否有缺失資料 nan, 為 true 表示缺失資料:
df.isnull() #這個是返回乙個dateframe
""" a b c d
2013-01-01 false true false false
2013-01-02 false false true false
2013-01-03 false false false false
2013-01-04 false false false false
2013-01-05 false false false false
2013-01-06 false false false false
"""# 檢測在資料中是否存在 nan, 如果存在就返回 true:
#np.any()是概括
# np.any(df.isnull()) == true
# true
df.dropna(去掉有空值的行或者列axis=0, # 0: 對行進行操作; 1: 對列進行操作
how='any' # 'any': 只要存在 nan 就 drop 掉; 'all': 必須全部是 nan 才 drop
)
dateframe.fillna(value= ) 替代控制為value的值
dateframe.isnull() 這個返回的是乙個dateframe 裡面的只有false,true 當存在na的時候就是true
np.any(dateframe.isnull()) 判斷這個dateframe是否有空值
出處:
4 pandas處理丟失的資料
有些時候我們採集到的資料可能會是不全的,那麼這個時候我們就需要進行一定的處理,以便來滿足我們的要求。那麼開始吧 1 生成資料 import numpy as np import pandas as pd 生成資料 dates np.arange 20200101 20200105 df1 pd.da...
4 處理器排程
4.1 cpu排程的相關概念 cpu排程 按照一定的排程演算法從就緒佇列中選擇乙個程序,把cpu的使用權交給被選中的程序,其任務就是控制 協調程序對cpu的競爭。如果沒有就緒程序,系統會安排乙個系統空閒程序或idle程序。cpu排程所面臨的場景 系統中有n個程序,等待上cpu執行,而有m個cpu,m...
opencvC 學習16處理邊緣
影象卷積的時候邊界畫素,不能被卷積操作,原因在於邊界畫素沒有完全跟kernel重疊,所以當3x3濾波時候有1個畫素的邊緣沒有被處理,5x5濾波的時候有2個畫素的邊緣沒有被處理。在卷積開始之前增加邊緣畫素,填充的畫素值為0或者rgb黑色,比如3x3在 四周各填充1個畫素的邊緣,這樣就確保影象的邊緣被處...