Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのpop関数を使ってデータフレームの列を削除する方法

データフレームとは

データフレーム(DataFrame)は、行と列という表形式でデータを格納する二次元データ構造です。SQLのデータテーブルやExcelのシートと同じように視覚化できるため、表形式のデータを直感的に扱うことができます。

データフレームから列を削除する方法はいくつかありますが、本記事ではpop関数を使った方法を紹介します。pop関数は、削除したい列名を引数として受け取り、その列をデータフレームから取り除きます。なお、drop関数とは異なり、pop関数は削除した列をSeriesとして返すという特徴があります。

サンプルコード

import pandas as pd
my_data = {'ab' : pd.Series([1, 8, 7], index=['a', 'b', 'c']),
'cd' : pd.Series([1, 2, 0, 9], index=['a', 'b', 'c', 'd']),
'ef' : pd.Series([56, 78, 32],index=['a','b','c']),
'gh' : pd.Series([66, 77, 88, 99],index=['a','b','c', 'd']) }
my_df = pd.DataFrame(my_data)
print("The dataframe is :")
print(my_df)
print("Deleting the column using the 'pop' function")
my_df.pop('cd')
print(my_df)

実行結果

The dataframe is :
   ab   cd   ef   gh
a  1.0  1   56.0  66
b  8.0  2   78.0  77
c  7.0  0   32.0  88
d  NaN  9   NaN   99
Deleting the column using the 'pop' function
   ab    ef   gh
a  1.0  56.0  66
b  8.0  78.0  77
c  7.0  32.0  88
d  NaN  NaN   99

コードの解説

  • まず必要なライブラリ(pandas)をインポートし、使いやすいように別名「pd」を付けています。
  • キーと値のペアで構成される辞書を作成します。ここで各値は、実際にはSeries(一次元データ構造)になっています。
  • 作成した辞書を、pandasライブラリの「DataFrame」関数に引数として渡し、データフレームを生成します。
  • 「pop」関数を呼び出し、削除したい列名(この例では「cd」)を引数として渡すことで、該当する列を削除します。
  • 最後に、列が削除された新しいデータフレームをコンソールに出力して確認します。

実行結果を見ると、「cd」列が完全に取り除かれ、残りの「ab」「ef」「gh」の3列だけが表示されていることがわかります。

補足: 出力に現れる「NaN」は「Not a Number(非数)」を意味し、該当する行・列の位置に有効な値が存在しないことを示しています。これは、元のSeriesのインデックスの長さが異なるために発生します。

  1. Pythonでscikit-learnを使って画像のピクセル値を取得・表示する方法

    データの前処理とは、さまざまなリソース(または単一のリソース)から収集したすべてのデータを、共通のフォーマットや統一されたデータセットへとまとめる作業を指します。現実世界のデータは決して完璧ではないため、欠損セルやエラー、外れ値、列間の不整合などが含まれている可能性があります。画像の場合も同様に、正しく配置されていなかったり、ぼやけていたり、ファイルサイズが非常に大きかったりすることがあります。前処理の目的は、こうした不整合やエラーを取り除くことにあります。画像のピクセル値を取得するには、組み込み関数「flatten」を使用します。画像を読み込んだ後、ピクセル値はデータフレームの形式で保存され

  2. Pythonで画面に出力するには?print文の基本と使い方を解説

    Pythonで画面(標準出力)に文字や値を表示する最も基本的な方法は、print文を使うことです。>>> print Hello, world Hello, worldカンマ区切りで複数の項目を出力する同じ行に複数の項目をスペースで区切って表示したい場合は、項目の間をカンマで区切ります。>>> print Hello,, World Hello, Worldこの例では、どちらの文字列にもスペースは含まれていませんが、2つのオブジェクトの間にあるカンマによって、print文が自動的にスペースを挿入してくれます。さまざまなデータ型の出力print文は文字列だけで