Pandas(Python)にて列や行の削除を行う方法【条件の指定(複数列も)】 | ウルトラフリーダム

Pandas(Python)にて列や行の削除を行う方法【条件の指定(複数列も)】

Python3
本サイトでは記事内に広告が含まれています。

Jupyter notebook(Python3)を使ってみようと思っても慣れていないうちは、どうしても処理に躓いてしまうものです。

例えば、Pythonのpandas機能においてデータフレーム(dataframe)に取り込んだものの、列や行などの条件を指定して「削除」を行いたいこともあるでしょう。

ここでは、このpython(Pandas)におけるdrop関数を用いた行や列の削除を行う方法について解説していきます。

スポンサーリンク

Python(pandas)にて列の削除を行う方法【特定の列】

まずは、以下のようなcsvファイルをpandasにて読み込み、データフレームに取り込みます。

ここで特定の1列を削除するにはdrop関数を使います。なおPandasにて列を指定して削除するには、列名の後にaxis=1を入れます。

df.drop(“x”,axis=1)

まとめると、以下のサンプルコードでx列の削除ができます。

import pandas as pd
df = pd.read_csv(“sample13.csv”,encoding=”SHIFT_JIS”)
df.drop(“x”,axis=1)

このようにして特定の1列のみを消去できました。

Python(pandas)にて複数列の削除を行う方法【dropの使い方】

なお1列ではなく複数列に対して削除を行いたい場合は、指定列を増やすだけでいいです。

df.drop([“x”,”y”],axis=1)

と入れていけば、x列とy列の削除ができます。

削除対象の列が非常に多い場合は、「こちらのpandasにて特定列の抽出する方法」の方が効率いい場合もあるので併せて理解しておきましょう。

Python(pandas)にて行の削除を行う方法【dropの使い方】

今度はpandasにて行方向の削除を実行する方法を確認していきます。

こちらもpandasの機能のdrop関数を使うといいいですが、行方向で条件指定する際には引数内のaxis=1は入れません。

かつ今回はインデックス行がないため、番号を直接入力するといいです。

import pandas as pd
df = pd.read_csv(“sample13.csv”,encoding=”SHIFT_JIS”)
df.drop(4)

これで4行目が削除できました。

 

Pandasにて複数行の削除を行う方法【drop関数内にdf.indexを入れていく】

Pandasにて複数行の削除を行う場合は、df.indexをdf.drop内に入れるといいです(以下例では、2行目と5行目の削除)。

df.drop(df.index[[2,5]])

まとめ pandasにて条件を指定して削除を行う方法【列(複数列)や行など】

ここでは、pandas(python)のデータフレームにおける特定の列や行を削除する方法について解説しました。

基本的にはdrop関数を使うとよく、1列や1行なのか複数列や行なのかによってコードを使いわけるといいです。

pythonでのさまざまな処理に慣れ、より効率よく業務を行っていきましょう。

コメント

タイトルとURLをコピーしました