pythonデータ処理を行う-pandasのdrop関数

2608 ワード

テーブルのローまたはカラムを削除するより賢明な方法はdropを使用し、既存のdfのデータを変更するのではなく、削除後のデータを格納するために別のdataframeを返すことです.本文の出典は主に必須ツール書「pythonによるデータ分析」に由来する.
—————————————————————————————————————————————————————
無効なデータのクリーンアップ
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()]の結果は同じです
無効な値を入力
df.fillna(0)
df.fillna({1:0, 2:0.5})         #    nan  00.5
df.fillna(method='ffill')   #               NaN

drop関数の使用
(1)drop関数の使用:行の削除、列の削除
print frame.drop(['a'])
print frame.drop(['Ohio'], axis = 1)

drop関数はデフォルトで行を削除し、列にaxis=1を追加する必要があります.
(2)drop関数の使用:inplaceパラメータ
dropメソッドを使用すると、次の3つの等価な式があります.
1. DF= DF.drop('column_name', axis=1);
2. DF.drop('column_name',axis=1, inplace=True)
3. DF.drop([DF.columns[[0,1, 3]]], axis=1, inplace=True)   # Note: zero indexed

注意:元の配列を変更して新しい配列を返す場合は、inplaceオプションのパラメータがあります.手動でTrue(デフォルトはFalse)に設定すると、元の配列はそのまま置き換えられます.すなわち、inplace=Trueを採用すると、元の配列名(2と3の場合)に対応するメモリ値が直接変化する.
一方、inplace=Falseを使用すると、元の配列名に対応するメモリ値は変更されず、新しい結果を新しい配列に割り当てるか、元の配列を上書きするメモリ位置(1の場合)を指定する必要があります.
(3)drop関数の使用:データ型変換
df['Name'] = df['Name'].astype(np.datetime64)

DataFrame.astype()メソッドは、PythonおよびNumPyのデータ型をサポートするData Frameまたはカラム全体をデータ形式に変換できます.