pandas:欠落値処理


pandas:欠落値処理
  • 前言
  • 一、isnull()
  • 二、notnull()
  • 三、dropna()
  • 四、fillna()
  • 前言
    私たちがデータを処理する時、いつも数値の欠落の問題に出会って、pandasは欠落値を処理する方面でとても全面的な方法を提供して、主に含みます:isnull()--欠落値を探し出します;notnull()-欠落していない値を見つけます.dropna()——欠落値を取り除く;Fillna()-欠落した値を入力します.具体的な使い方は下を見てください.
    ヒント:以下はこの文章の本文の内容で、以下のケースは参考にすることができます
    一、isnull()
    isnull()は、欠落した値の位置を特定し、ブール型のマスクタグ欠落値を返します.次の例です.
    import pandas as pd
    import numpy as np
    data = pd.DataFrame({
         'name':['Verne Raymond',np.nan,'Patrick George','Saxon MacArthur'],'age':[18,np.nan,21,None]})
    data
    
                  name   age
    0    Verne Raymond  18.0
    1              NaN  NaN
    2   Patrick George  21.0
    3  Saxon MacArthur   NaN
    

    ここでは、DataFrameを作成する際の制御にかかわらずnpが使用されていることがわかります.nanもNoneも、作成するとNaNになります.
    data.isnull()
    
        name    age
    0  False  False
    1   True   True
    2  False  False
    3  False   True
    

    二、notnull()
    notnull()はisnull()とは正反対で、空でない値を見つけてブール値でマークします.次に例を示します.
    data.notnull()
    
        name    age
    0   True   True
    1  False  False
    2   True   True
    3   True  False
    

    三、dropna()
    dropna()は文字通り、欠落値を失うことを意味する.
    DataFrame.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
    パラメータ:axis:デフォルトは0で、行を削除するか列を削除するかを表し、「index」と「columns」でhow:{‘any’,‘all’}を表し、デフォルトは‘any’;anyはその行(列)に空の値があれば行全体(列)を削除することを表し、allは行全体(列)に空の値が現れてこそ行全体(列)を削除することを表すthresh:非空の値がthreshより小さい場合subsetを削除することを表す:リストタイプ、どの列に空の値があって行または列inplaceを削除するかを表す:他の関数のinplaceと同様に、元のDataFrameを上書きするかどうかを表す
    次に例を示します.
    data.dropna(axis=1,thresh=3)
    
                  name
    0    Verne Raymond
    1              NaN
    2   Patrick George
    3  Saxon MacArthur
    
    data.dropna(axis=0,how='all')
    
                  name   age
    0    Verne Raymond  18.0
    2   Patrick George  21.0
    3  Saxon MacArthur   NaN
    
    data.dropna(subset = ['name'])
    
                  name   age
    0    Verne Raymond  18.0
    2   Patrick George  21.0
    3  Saxon MacArthur   NaN
    

    四、fillna()
    Fillna()の役割は欠落値DataFrameを埋めることである.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
    パラメータ:
  • value:DataFrameを埋める値
  • を設定する.
  • method:デフォルトはNone;DataFrameを埋める方法としては、「backfill」、「bfill」、「pad」、「ffill」の4種類があり、「backfill」と「bfill」は前の値で空席値を埋め、「pad」と「ffill」は後の値で空席値
  • を埋めます.
  • axis:欠落値に沿った軸を充填し、前述のaxis設定方法と同様に
  • inplace:元のDataFrameを置き換えるかどうかは、上記の設定方法と同様
  • limit:置換値の設定数制限
  • downcast:ダウン互換変換タイプを表し、
  • は一般的ではありません.
    次に例を示します.
    data.fillna(0)
    
                  name   age
    0    Verne Raymond  18.0
    1                0   0.0
    2   Patrick George  21.0
    3  Saxon MacArthur   0.0
    
    data.fillna(method='ffill')
    
                  name   age
    0    Verne Raymond  18.0
    1    Verne Raymond  18.0
    2   Patrick George  21.0
    3  Saxon MacArthur  21.0