pandas.dropna/isnull/fillna/astype的用法


刪除表中的某一行或者某一列更明智的方法是使用drop,它不改變原有的df中的數據,而是返回另一個dataframe來存放刪除后的數據。

(1)清理無效數據

df[df.isnull()]  #返回的是個true或false的Series對象(掩碼對象),進而篩選出我們需要的特定數據。 
df[df.notnull()]  

df.dropna()     #將所有含有nan項的row刪除 
df.dropna(axis=1,thresh=3)  #將在列的方向上三個為NaN的項刪除 
df.dropna(how='ALL')        #將全部項都是nan的row刪除

此處:print( data.dropna()) 和 print(data[data.notnull()]) 結果一樣

(2)填充無效值

df.fillna(0) 
df.fillna({1:0, 2:0.5})         #對第一列nan值賦0,第二列賦值0.5 
df.fillna(method='ffill')   #在列方向上以前一個值作為值賦給Na

注意:凡是會對原數組作出修改並返回一個新數組的,往往都有一個 inplace可選參數。如果手動設定為True(默認為False),那么原數組直接就被替換。也就是說,采用inplace=True之后,原數組名(如2和3情況所示)對應的內存值直接改變;

而采用inplace=False之后,原數組名對應的內存值並不改變,需要將新的結果賦給一個新的數組或者覆蓋原數組的內存位置(如1情況所示)。

(3)astype函數的使用:數據類型轉換

df['Name'] = df['Name'].astype(np.datetime64)

DataFrame.astype() 方法可對整個DataFrame或某一列進行數據格式轉換,支持Python和NumPy的數據類型。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM