注目キーワード

【Python】pandas drop を利用して DataFrame の行・列を削除して必要な部分だけを取得する

Python でデータ解析を行うための高性能なライブラリとして、これまでも pandas の使い方については説明してきました。

ファイルからデータフレームでデータを読み込むと、いろんな列・行を読み込むので、読み込んだ処理をしてからデータを削除することもあります。今回はデータを読み込んだ後に列や行を操作して、必要なデータを残す処理に使える drop() を説明します。

インストール

pandas ライブラリを利用しますので、インストールされていない場合には、pip install pandas を実行しておく必要があります。

pandas drop 関数の基本的な使い方

データにはこちらの記事で利用した順位表のデータ(juni.tsv)を利用します。

サンプルソース

drop() は名前の通り指定した列や行を削除するために利用できます。そのため、ここでは順位表の行(indexで各チームを指定する)や列を指定して使ってみます。

  • 先頭では juni.tsv を読み込み、いくつかの列だけ残しました。
  • dropを2つの方法(新しくデータフレームを作成する、データフレームを直接変更する)で試します。
    • 1つ目の方法では、インデックスを指定して特定のチーム(行に相当)を削除します。行方向がデフォルトになっているので、特別な指定は必要ありませんが、axis=0がデフォルトです(axis=1は2つ目の軸になります)。
    • 2つ目の方法で、読み込んだdfの上で直接データを編集するため、inplace=True を指定しました。
    • 2つ目の方法では、複数の行を同時に削除するために、listでインデックスを指定しました。

実行結果

実行結果になります。それぞれ新しいデータフレームと、元のデータフレームが編集された様子が確認できます。

列方向でデータを削除する場合のサンプルソース

次にほとんど同じサンプルソースですが、行方向ではなく列方向のデータ処理を試します。axis=1を使う以外は行方向とほとんど同じ実装でデータを編集できます。

実行結果

実行結果です。元のデータ df と新しく作った df2、dfが上書きされる様子が確認できます。

スポンサーリンク

大規模なデータフレームを処理する際、データの追加や加工だけではなく削除も重要になります。dropは使いやすい関数だと思いますので、是非利用してみてください。