Pythonを使っていてこんな悩みはありませんか?
「Pandas DataFrameで特定のデータ削除をしたい、、しかしやり方がわからない。」
「Pandas DataFrameで行や列を指定してデータ削除をしたい、、しかしやり方がわからない。」
そのお悩み解決します。
結論をお話しするとPandasのdrop( )メソッドを使用することでデータを削除できます。
今回は、下記のようなPandas dataframe(以下df)を用いて、データを削除する方法を解説します。
それでは解説していきます。
列を指定してデータを削除する方法
今回は、dfの「’Age’」列を削除します。
下記のようにdrop( )メソッドの中のcolumns = [ ]の中に’カラム名’を記載すればOKです。
‘Age’列が削除できていることが確認できます。(下右図)
df.drop(columns = ['Age'])
ここでdrop( )メソッドを使う注意点を説明します。
【注意点】「データ削除後のdf」をdfとして更新する必要がある
df.drop(columns = [‘Age’])の後にdfを出力しても、dfは更新されていないため、dfを出力しても’Age’列が削除されていません。(下左図)
「dropした後のdf」を再度dfとすれば、dfが更新されるため、「データ削除後のdf」をdfとして保存できます。つまり「df = (データ削除後のdf)」することで、「データ削除後のdf」がdfとなります。(下右図)
df = df.drop(columns = ['Age']) df
drop()メソッドでデータを消去した場合、「df = (データ削除後のdf)」とdfを更新するのを忘れないようにしましょう❗️
続いて行を指定して削除する方法を解説します。
dfの行を指定して削除する方法
今回はdfの1行目と2行目を削除します。
df.drop(index = [ ])の中に1,2を記載すればOKです。
1行目と2行目がdfから削除されていることが確認できます。
df.drop(index = [1,2])
また列を削除する場合と同様に、「df = (データ削除後のdf)」とdfを更新するのを忘れないようにしましょう。
行を削除後は、行番号が連番ではなくなるので、Pandasのreset_index( )メソッドを使って、行番号をリセットするのを忘れないようにしてください。
Pandasのreset_index( )については下記記事で解説していますので是非ご覧ください。
今回はPandas DataFrameでデータを削除する方法を解説しました。
pythonを活用したデータサイエンスでは、データの削除は実施する機会が頻繁にあるので、是非本記事を通してマスターしていただければと思います。
この記事が少しでも皆さんのお役に立てれば幸いです。
また、pandasのメソッドは量が多く、都度調べるのが面倒なので下記記事でまとめてみました。
ブックマークして調べる手間を減らしてもらえればと思います。
✅ 機械学習・pythonの「勉強」について知りたい人は下記記事もお勧め
仕事で活用するための機械学習、pythonの「勉強」について解説しています。
機械学習の独学は勉強することが多く、特に挫折しがちです。。
機械学習を完全独学した私が、「社会で使える機械学習スキル」を最短で得るための勉強・勉強法について書いていますので是非読んで見てください。
✅ 機械学習の「全体像」を知りたい人は下記記事もお勧め
研究開発で4年・1人で機械学習を活用してみて理解した機械学習の全体像を全部書きました。
3万字まで文字を削って、一冊に纏め切りました。
専門書を買う前に、これを読んで機械学習の「全体像」を理解してほしいです!
皆さんの機械学習の勉強がさらに進み、理解が深まることを願っています。