Python Pandas – 列名を指定してDataFrameのサブセットを作成する方法
PythonのPandasで、列名を指定してDataFrameのサブセット(部分データ)を作成するには、角括弧「[ ]」=インデックス演算子を使用します。DataFrameに対して角括弧の中に目的の列名を記述するだけで、その列を簡単に抽出できます。
dataFrame['column_name']
ライブラリのインポート
まず、必要なライブラリをエイリアス付きでインポートしましょう。
import pandas as pd
DataFrameの作成
続いて、商品在庫レコードを含むPandas DataFrameを作成します。
dataFrame = pd.DataFrame({
"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
"Opening_Stock": [300, 700, 1200, 1500],
"Closing_Stock": [200, 500, 1000, 900]
})
ここではサブセットとして、「Product」列のレコードのみを取得してみます。つまり、DataFrame全体から特定の1列だけを抜き出す操作です。
dataFrame['Product']
サンプルコード
以下が完全なコード例です。
import pandas as pd
dataFrame = pd.DataFrame({
"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
"Opening_Stock": [300, 700, 1200, 1500],
"Closing_Stock": [200, 500, 1000, 900]
})
print("DataFrame...\n", dataFrame)
print("\nDisplaying a subset:\n", dataFrame['Product'])
出力結果
このコードを実行すると、次のような出力が得られます。
DataFrame... Closing_Stock Opening_Stock Product 0 200 300 SmartTV 1 500 700 ChromeCast 2 1000 1200 Speaker 3 900 1500 Earphone Displaying a subset: 0 SmartTV 1 ChromeCast 2 Speaker 3 Earphone Name: Product, dtype: object
補足:戻り値と複数列の取得について
dataFrame['Product']のように1つの列名を指定した場合、戻り値はDataFrameではなくSeriesになります。一方、複数の列を同時に抽出したい場合は、列名のリストを二重の角括弧で渡します。
# 複数列を抽出する例
dataFrame[['Product', 'Opening_Stock']]
このように書くことで、指定した複数の列から構成される新しいDataFrame(サブセット)を取得できます。列名による抽出は、Pandasでデータを絞り込む際の最も基本的かつ頻繁に使われる操作なので、しっかり覚えておきましょう。
-
Python・Pandas DataFrameでCSV読み込み時に列名を明示的に指定する方法
PandasでCSVファイルを読み込む際、元のファイルにヘッダー(列名)が含まれていないケースはよくあります。そのような場合、read_csv()メソッドのnamesパラメータを使えば、列名を明示的に指定できます。この記事では、具体的な手順をサンプルコードと実行結果とともに解説します。 namesパラメータによる列名の指定 read_csv()メソッドのnamesパラメータに列名のリストを渡すことで、ヘッダーを持たないCSVファイルに任意の列名を割り当てられます。例として、Microsoft Excelで開いた次のようなヘッダーなしのCSVファイルを想定します。 このファイルを読み込む
-
【Python】Pandas DataFrameからサブセット(列の一部)を選択する方法
Pandas DataFrameのサブセット選択とは? Pandasでは、DataFrameから必要な列や行だけを取り出す操作を「サブセットの選択」と呼びます。大きなデータセットから目的のデータだけを抽出できれば、分析や前処理の効率が大幅に向上します。 この記事では、CSVファイルを読み込んだDataFrameから、1つの列、および複数の列を選択する基本的な方法を解説します。 使用するCSVファイルの内容 今回使用する「SalesData.csv」は、Microsoft Excelで開くと以下のような内容になっています。 CSVファイルからDataFrameを作成する まず、pd.rea