[Pythonデータ分析]Dataframeで行・列を削除する方法
こんにちは。kakeです。
Pythonでデータ分析をする時に欠かせないPandasというライブラリのDataframeがあります。
そして、行、列を丸っと削除したい時の操作を備忘録的に残しておきます!
本記事の内容
Contents
[Pythonデータ分析]Dataframeで行・列を削除する方法
![[Pythonデータ分析]Dataframeで行・列を削除する方法](https://kakerunoblog.com/wp-content/uploads/2019/10/laptop-2557466_1920-1024x682.jpg)
それではjupyter notebookの画像も載せつつ解説していきます。
Dataframeで行を削除する方法
早速解説していきます。
- 行の名前を指定する場合
- 行の番号を指定する場合
- 複数行を指定する場合
この3つに関して書いていきます。
まずは、DataFrameを用意します。
以下のようなDataFrameを用意しました。

import pandas as pd df = pd.DataFrame(data=[[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15]],index=['A','B','C','D','E'], columns=['1st','2st','3st']) df
行の名前を指定する場合
まずは名前を指定する場合です。
使うメソッドはdropメソッドです。
「B」という名前の行を消してみます。

df.drop('B')
これで「B」という行が消せました。簡単でした。
行の番号を指定する場合
次に行番号で指定する場合です。
使うメソッドはもちろんdropメソッドです!
0行目を削除してみます。

df.drop(df.index[0])
こんな感じです。dropメソッドの引数にdfのindex番号を指定してあげればオッケーです。簡単ですね。
複数行を指定する場合
これまで一行一行でしたが、まとめて複数行を削除したい場合もあります。
- 名前を指定する場合
- 行番号を指定する場合
✔︎名前を指定する場合
‘B’と’D’の行を削除する

df.drop(['B','D'])
このように辞書型で指定してあげればオッケーです。
✔︎行番号を指定する場合
‘Aと’C’と’D’の行を削除する

df.drop(df.index[[0,2,3]])
[]の中に[]にしておくことに注意です!
Dataframeで列を削除する方法
次は列です。
- 列の名前を指定する場合
- 列の番号を指定する場合
- 複数列を指定する場合
この3つについて順に解説していきます。
列の名前を指定する場合
列でも同じようにdropメソッドを使います。
2種類方法があります。
①columns=’名前’ で指定する場合
‘1st’の列を削除する

df.drop(columns='1st')
このようにcolumns=’名前’としてあげれば列を消せます。
②axis=1とする場合
‘1st’の列を削除する

df.drop('1st', axis=1)
axisという引数がdropメソッドにあって、axis=1とすれば列を指定することができます。ちなみにデフォルトではaxis=0となっていて行を指定しています。
列の番号を指定する場合
次は列の番号を指定する場合です。
‘2st’の列を削除する

df.drop(df.columns[1], axis=1)
行を削除した時と同じような感じでdfのcolumnsで番号を指定してあげればオッケーです。こちらも注意としてaxis=1を引数に入れてあげましょう。
複数列を指定する場合
複数列の場合も示しておきます。
- 名前を指定する場合
- 列番号を指定する場合
✔︎名前を指定する場合
‘1st’と’2st’を削除する

df.drop(['1st','2st'],axis=1)
辞書型で指定してaxis=1を入れてあげればオッケーです。
✔︎列番号を指定する場合
‘1st’と’2st’を削除する

df.drop(df.columns[[0,1]],axis=1)
もうわかってきたと思いますが、このようにcolumnsで指定です!
[Python]DataFrameで行や列を削除して、更新させる方法
![[Python]DataFrameで行や列を削除して、更新させる方法](https://kakerunoblog.com/wp-content/uploads/2019/05/3196-1024x683.jpg)
さて、ここまでDataFrameで行や列を削除してきました。しかし、一度削除してもう一回「df」と入力して出力を見ると変わっていないんです。
以下の画像みてください。

削除したはずの列が再出力でまた復活しています。
ここではこれを直していきます。
結論をいうと、以下の通りです。
dropメソッドの引数にinplace=Trueを加えてあげる
画像で確認してみましょう。

df.drop(df.columns[[0,1]],axis=1, inplace=True)
ちゃんと再出力でも列を消した後のDataFrameになっていますね!覚えておきましょう。
人気記事 [無料あり]Python・AI(人工知能)を学習するためのプログラミングスクール3選