LoginSignup
2
1

More than 3 years have passed since last update.

【Pandas】drop・popの違いは?英語文献の翻訳も付けて解説します no.21

Posted at

見出しを追加 (48).png
こんにちは、まゆみです。

Pandas の記事をシリーズで書いています。

今回の記事は第21回目になります。

今回の記事では、

Pandasの.drop()メソッドと.pop()メソッドの違い

を解説していこうと思います。

.drop()と.pop()の違いについてネットを探してみると、色んな情報がありました。

英語で解説しているのが多かったので、翻訳も載せつつ、解説していきますね。

ではさっそく始めていきます。

.drop()と.pop()はPandasドキュメントでどう書かれている?

.drop()も.pop()も指定したコラムを削除するという共通点はあります。

スクリーンショット 2021-03-25 104202.jpg
引用元:Pandasドキュメント

スクリーンショット 2021-03-25 104220.jpg
引用元:Pandasドキュメント
ただ、一言で、『コラムを削除する』と言っても、色々な削除の仕方があります。

.pop()や.drop()で削除した『コラム自体』も後で使えるのか

削除されたものが返されるのか、DataFrameから特定の物が削除されたDataFrameが返されるのか

このちょっとした違いを理解しないと、.pop()を使うべきか.drop()を使うべきか迷ってしまうと思うので、具体的に解説していきます

下記のサイトからの引用にも、.pop()と.drop()の違いのヒントが書かれています

スクリーンショット 2021-03-25 104440.jpg
赤で囲った部分の翻訳をすると

(.pop()について)
あなたが削除したコラムをSeriesとして返してくれるので、それを使うことができる(もしそうしたいのならば)

と書いています

では、.pop()メソッドの方から、どのような事ができるのか説明していきますね。

.pop()メソッド

disney映画に関するデータを読み込み、新たに作ったDataFrameオブジェクト をdisneyという変数に代入しました。
スクリーンショット 2021-03-25 105905.jpg

そのDataFrameから、.pop()メソッドを使ってtotal_grossというコラムを削除します。

そしてこの削除したtotal_grossコラムをSeriesとして使うことができます。

スクリーンショット 2021-03-25 110559.jpg

DataFrame の一つのコラムだった部分が、独立してSeries になりました。

スクリーンショット 2021-03-25 110622.jpg

.pop()メソッドを使って削除した後、オリジナルのDataFrameはどのようになっているか見てみると、.pop()メソッドで削除されたコラムがオリジナルのDataFrame からは切り離されているのが分かります。

スクリーンショット 2021-03-25 110712.jpg

スクリーンショット 2021-03-25 111305.jpg

引用元:DATA INDEPENDENT

翻訳:.pop()と.drop()は非常に似ている。.drop()は特定のコラムが除かれたDataFrame を返す。
一方.pop()はコラムを返す

pop()メソッド.png
.pop()メソッドはオリジナルのDataFrameを1枚のシートと考え、そのシートから特定のコラムを切り取る感じ。
特定のコラムを切り取った後のDataFrameは取り除かれた部分を除いて糊付けされ、それが新たなDataFrameになる感じです。

.drop()メソッドを使う

次に.drop()メソッドを使って特定のコラムを削除します

.drop()メソッドは、特定のインデックスでもコラムでもどちらでも削除する事ができるので、axis=1 にして、movie_title というコラムを削除します。

スクリーンショット 2021-03-25 112743.jpg

.drop()メソッドを使うとどうなるでしょうか。

スクリーンショット 2021-03-25 113514.jpg

指定されたコラムが独立したSeriesとして返される.pop()とは違い、.drop()では特定のコラムが削除されたDataFrameが返されました。

.drop()メソッドは、drop = 切り離すという日本語訳でもわかるように、DataFrameからあるコラムを切り離すことをしてくれます

また、dropという英語は『トカゲのしっぽが切り離される』という意味でも使うので、しっぽが切り離されたトカゲを想像すると覚えやすいと思います

しっぽの切れたトカゲが (1).png

まとめ

今回の記事では、.pop()と.drop()で、コラムを削除するときの違いについて解説してみました。

他にも.drop()はコラムだけでなく、インデックスも削除できるという違いはありますが、今回はコラムを削除するときの相違点ということだけにフォーカスして記事を書いてみました。

また引き続きPandasについての記事を書いていきますね。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1