Jupyter notebook(Python3)を使ってみようと思っても慣れていないうちは、どうしても処理に躓いてしまうものです。
例えば、Pythonのpandas機能においてデータフレーム(dataframe)に取り込んだものの、列や行などの条件を指定して「削除」を行いたいこともあるでしょう。
ここでは、このpython(Pandas)におけるdrop関数を用いた行や列の削除を行う方法について解説していきます。
Python(pandas)にて列の削除を行う方法【特定の列】
まずは、以下のようなcsvファイルをpandasにて読み込み、データフレームに取り込みます。
ここで特定の1列を削除するにはdrop関数を使います。なおPandasにて列を指定して削除するには、列名の後にaxis=1を入れます。
まとめると、以下のサンプルコードでx列の削除ができます。
df = pd.read_csv(“sample13.csv”,encoding=”SHIFT_JIS”)
df.drop(“x”,axis=1)
このようにして特定の1列のみを消去できました。
Python(pandas)にて複数列の削除を行う方法【dropの使い方】
なお1列ではなく複数列に対して削除を行いたい場合は、指定列を増やすだけでいいです。
と入れていけば、x列とy列の削除ができます。
削除対象の列が非常に多い場合は、「こちらのpandasにて特定列の抽出する方法」の方が効率いい場合もあるので併せて理解しておきましょう。
Python(pandas)にて行の削除を行う方法【dropの使い方】
今度はpandasにて行方向の削除を実行する方法を確認していきます。
こちらもpandasの機能のdrop関数を使うといいいですが、行方向で条件指定する際には引数内のaxis=1は入れません。
かつ今回はインデックス行がないため、番号を直接入力するといいです。
df = pd.read_csv(“sample13.csv”,encoding=”SHIFT_JIS”)
df.drop(4)
これで4行目が削除できました。
Pandasにて複数行の削除を行う方法【drop関数内にdf.indexを入れていく】
Pandasにて複数行の削除を行う場合は、df.indexをdf.drop内に入れるといいです(以下例では、2行目と5行目の削除)。
まとめ pandasにて条件を指定して削除を行う方法【列(複数列)や行など】
ここでは、pandas(python)のデータフレームにおける特定の列や行を削除する方法について解説しました。
基本的にはdrop関数を使うとよく、1列や1行なのか複数列や行なのかによってコードを使いわけるといいです。
pythonでのさまざまな処理に慣れ、より効率よく業務を行っていきましょう。
コメント