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

【Python】Pandas DataFrameからサブセット(列の一部)を選択する方法

Pandas DataFrameのサブセット選択とは?

Pandasでは、DataFrameから必要な列や行だけを取り出す操作を「サブセットの選択」と呼びます。大きなデータセットから目的のデータだけを抽出できれば、分析や前処理の効率が大幅に向上します。

この記事では、CSVファイルを読み込んだDataFrameから、1つの列、および複数の列を選択する基本的な方法を解説します。

使用するCSVファイルの内容

今回使用する「SalesData.csv」は、Microsoft Excelで開くと以下のような内容になっています。

【Python】Pandas DataFrameからサブセット(列の一部)を選択する方法

CSVファイルからDataFrameを作成する

まず、pd.read_csv()メソッドを使って、CSVファイルのデータをPandas DataFrameに読み込みます。

dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv")

角括弧[ ]でサブセットを選択する

サブセットを選択するには、角括弧 [ ] を使います。括弧の中に列名を指定すれば、データセット全体からその列だけを取得できます。

dataFrame['Car']

複数の列を同時に取得したい場合は、列名をリスト形式(二重の角括弧)で指定します。

dataFrame[['Car', 'Units']]

サンプルコード全体

以下に、CSVファイルの読み込みからサブセットの表示までを行う完全なコードを示します。

import pandas as pd

# CSVファイルからPandas DataFrameへデータを読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv")
print("\nReading the CSV file...\n", dataFrame)

# 1つの列のみを表示
res1 = dataFrame['Car']
print("\nDisplaying only one column Car : \n", res1)

# 2つの列を表示
res2 = dataFrame[['Car', 'Units']]
print("\nDisplaying two columns : \n", res2)

実行結果

上記のコードを実行すると、次のような出力が得られます。

Reading the CSV file...
        Car   Reg_Price   Units
0       BMW        2500     100
1     Lexus        3500      80
2      Audi        2500     120
3    Jaguar        2000      70
4   Mustang        2500     110

Displaying only one column Car :
0       BMW
1     Lexus
2      Audi
3    Jaguar
4   Mustang
Name: Car, dtype: object

Displaying two columns :
        Car   Units
0       BMW     100
1     Lexus      80
2      Audi     120
3    Jaguar      70
4   Mustang     110

補足:loc・ilocで行単位のサブセットも抽出できる

列だけでなく、行単位でデータを抽出したい場合は、ラベルベースのlocや、位置ベースのilocが便利です。

# インデックス0〜2の行を抽出
dataFrame.loc[0:2]

# 先頭3行を抽出
dataFrame.iloc[0:3]

まとめ

Pandas DataFrameのサブセット選択は、角括弧 [ ] に列名を指定するだけで簡単に行えます。1列なら df['列名']、複数列なら df[['列名1', '列名2']] のように記述します。さらに lociloc を組み合わせれば、行単位の柔軟なデータ抽出も可能になり、日々のデータ分析作業を効率化できます。

  1. PythonでPandas DataFrameを棒グラフとして可視化する方法

    データ分析において、PandasのDataFrameを視覚的に表現することは非常に重要です。この記事では、CSVファイルから読み込んだデータをmatplotlibを使って棒グラフ(バーチャート)として表示する方法を解説します。 前提条件:サンプルデータ 今回は以下のような内容のCSVファイル(SalesData.csv)を使用します。 Car Reg_Price 0 BMW 2000 1 Lexus 1500 2 Audi 1500 3 Jaguar 2000 4 Mustang

  2. Python Pandas:read_csvのskipinitialspaceでCSV読み込み時の先頭スペースをスキップする方法

    PandasでCSVの先頭スペースをスキップするには?PandasでDataFrameを読み込む際、データの先頭にある余分な空白(初期スペース)を取り除きたい場合は、read_csv()メソッドのskipinitialspaceパラメータを使用します。このパラメータをTrueに設定すると、区切り文字(カンマなど)の直後にある空白が自動的にスキップされます。CSVファイルの中には、カンマの後に不要なスペースが混ざっているケースが少なくありません。そのまま読み込むと、列名や値の先頭に空白が残り、条件検索やグループ化の際にデータが正しく一致しない原因となります。skipinitialspace=Tr