【Python】DataFrameの行、列の削除、追加を行う方法

【Python】DataFrameの行、列の削除、追加を行う方法

この記事ではDataFrameの行や列の削除、追加をどうやるの??ということを紹介しています。

この記事の目標
・DataFrameの行、列削除動作の理解
・DataFrameの行、列追加動作の理解

DataFrameとSeries型の違いがわからない人はまず以下の記事で理解しましょう!!
DataFrameとSeriesの違いを紹介
その他Pythonの記事は以下にまとめています!!

Python記事まとめ

[スポンサーリンク]


削除に使うメソッド

削除する時はdropメソッドを使用します。

オプションなど 初期値 説明
value 列名または行名を指定
axis 0 行と列のどっちかというのを指定する(0=行、1=列)
inplace False DataFrameに上書きするか否かの設定

最低限必要なのはvalueでその他のオプションは任意です。
では実際に行、列を削除したサンプルとinplaceオプションを使用したサンプルを紹介します。

 

行の削除

行を削除するにあたり、4行3列のDataFrameを作成します。

以上のDataFrameの1行目を削除してみましょう。
dropメソッドで行番号または行名を指定するだけで削除できます。

ちなみに以下のようにindex=〇で行番号か行名を指定して削除もできます。

まとめて削除する場合はリストで行番号か行名を指定します。

 

列の削除

次に列を削除します。
今回も以下のDataFrameを使用します。

 

列を削除する時はaxisを1に指定します。
これでvalue対象が列になります。
今回は1列目を削除してみます。

ちなみにaxisを使用しなくともcolumns=〇で列番号か列名を指定しても削除できます。

まとめて削除する場合はリストで列番号か列名を指定します。

 

inplaceオプション使用

inplaceオプションは指定したDataFrameを上書きするか否かを設定するオプションです。
デフォルトではFalseですが、これをTrueに設定するとDataFrameが上書きされます。

dropする前のDataFramedropした後のDataFrameが上書きされていることが確認できます。

ちなみに上書き動作の時は戻り値がありません。(Noneになる)

[スポンサーリンク]


行の追加

行追加動作を紹介するために以下のDataFrameを使用します。

行を追加する時はlocメソッドを使用します。
locメソッドは[ ]内の数値また文字列が行を表すことを示します。
例えば以下は1行目を表します。

対して以下は1列目を表します。

このlocメソッドを用いて新規行の行番号か行名を指定し、
そこに値を代入することで新規行の追加が行えます。
今回は4行目を新規行として追加し、[“D”,10,10]を代入しています。

もし行の値を全て同じ値にする場合はリストではなく値を1つだけ代入します。

列の追加

列追加動作を紹介するのに同じように以下のDataFrameを使用します。

列追加する時は新規列の列番号か列名を指定して値を代入します。
今回は4列目を作成し、そこに[“D”,10,10,10]を代入しました。

全て同じ値を代入したい場合はリストではなく数値を1つ指定して代入します。

 

行、列追加時に便利なshapeメソッド

行、列を追加する時に現在の行数や列数がわからないということがほとんどでしょう。
その時に便利なのが行数と列数を返してくれるshapeメソッドです。

戻り値
[行数、列数]

 

以下のDataFrameで検証してみます。

以上の4行3列のDataFrameshapeメソッドを使用してみましょう。

そうするとDataframe4行、3列であるとリストで返してくれました。
このようにshapeメソッドで行数や列数を取得し、最後行に行や列を追加すると便利です。

 

shapeを使って行追加

今回はすでに行番号0~3が存在しているのでshapeメソッドで4行分存在すると表示されます。
そのshapeの戻り値を使用して5行目(行番号4)を代入するといった合わせ技を行います。

df.loc[sh[0]]に代入することで行番号4が追加されていることが確認できます。

shapeを使って列追加

すでに列番号0~2が存在しているのでshapeメソッドで3列分存在すると表示されます。
そのshapeの戻り値を使用して4列目(列番号3)を代入するといった合わせ技を行います。

df[sh[1]]に代入することで列番号3が代入されたことが確認できます。

[スポンサーリンク]


Pandasカテゴリの最新記事