pythonデータ処理を行う-pandasのdrop関数
2608 ワード
テーブルのローまたはカラムを削除するより賢明な方法はdropを使用し、既存のdfのデータを変更するのではなく、削除後のデータを格納するために別のdataframeを返すことです.本文の出典は主に必須ツール書「pythonによるデータ分析」に由来する.
—————————————————————————————————————————————————————
無効なデータのクリーンアップ
ここでprint data.dropna()とprint data[data.notnull()]の結果は同じです
無効な値を入力
drop関数の使用
(1)drop関数の使用:行の削除、列の削除
drop関数はデフォルトで行を削除し、列にaxis=1を追加する必要があります.
(2)drop関数の使用:inplaceパラメータ
dropメソッドを使用すると、次の3つの等価な式があります.
注意:元の配列を変更して新しい配列を返す場合は、inplaceオプションのパラメータがあります.手動でTrue(デフォルトはFalse)に設定すると、元の配列はそのまま置き換えられます.すなわち、inplace=Trueを採用すると、元の配列名(2と3の場合)に対応するメモリ値が直接変化する.
一方、inplace=Falseを使用すると、元の配列名に対応するメモリ値は変更されず、新しい結果を新しい配列に割り当てるか、元の配列を上書きするメモリ位置(1の場合)を指定する必要があります.
(3)drop関数の使用:データ型変換
DataFrame.astype()メソッドは、PythonおよびNumPyのデータ型をサポートするData Frameまたはカラム全体をデータ形式に変換できます.
—————————————————————————————————————————————————————
無効なデータのクリーンアップ
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 0, 0.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またはカラム全体をデータ形式に変換できます.