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

Python Pandas入門:行ラベル(loc)を使ってDataFrameから行を選択する方法

PandasのDataFrameで特定の行を抽出したい場合、loc() 関数を使用します。loc() は行ラベル(インデックスラベル)を指定してデータを取得するためのメソッドで、数値位置ではなくラベル名で行にアクセスできるのが特徴です。

この記事では、インデックスラベルとして「x」「y」「z」を持つDataFrameを作成し、loc() を使って目的の行を選択する方法を解説します。

DataFrameの作成

まず、サンプルとなるDataFrameを作成しましょう。index引数に行ラベル、columns引数に列名を指定します。

import pandas as pd

dataFrame = pd.DataFrame([[10, 15], [20, 25], [30, 35]],
                         index=['x', 'y', 'z'],
                         columns=['a', 'b'])

このコードでは、3行×2列のデータに対して、行ラベルとして x、y、z を設定しています。

loc() を使った行の選択

行を選択するには、loc() の角括弧内に取得したい行のラベルを渡します。ここでは例として、インデックスラベル「z」を指定してみましょう。

dataFrame.loc['z']

完全なサンプルコード

以下は、DataFrameの作成から行の選択までの一連のコード例です。

import pandas as pd

# DataFrameを作成
dataFrame = pd.DataFrame([[10, 15], [20, 25], [30, 35]],
                         index=['x', 'y', 'z'],
                         columns=['a', 'b'])

# DataFrameを表示
print("DataFrame...\n", dataFrame)

# locで行ラベルを指定して行を選択
print("\n行ラベルを渡して行を選択...")
print(dataFrame.loc['z'])

実行結果

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

DataFrame...
    a   b
x  10  15
y  20  25
z  30  35

行ラベルを渡して行を選択...
a    30
b    35
Name: z, dtype: int64

ポイントまとめ

  • loc[] は行ラベル(インデックス名)を指定してデータを取得するメソッドです。
  • 位置(0始まりの番号)でアクセスしたい場合は iloc[] を使用します。
  • 複数の行を同時に選択したい場合は、リスト形式で dataFrame.loc[['x', 'z']] のように指定できます。
  • スライス構文 dataFrame.loc['x':'y'] を使えば、範囲指定での行選択も可能です。

loc() を使いこなすことで、ラベルベースの柔軟なデータ抽出が可能になり、データ分析の効率が大きく向上します。

  1. 【Python】Pandas DataFrameからnull(欠損値)行を削除する方法|dropna()の使い方

    PandasのDataFrameからnull(NaN)行を削除するには、dropna()メソッドを使用します。この記事では、NaNを含むCSVファイルを読み込み、dropna()で欠損値を含む行を取り除くまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。前提:NaNを含むCSVファイル今回の例では、一部にNaN(null値)が含まれる以下のようなCSVファイル(CarRecords.csv)を使用します。手順1:read_csv()でCSVファイルを読み込むまずpandasをインポートし、read_csv()を使ってCSVファイルを読み込みます。ここではデスクトップ上に保存

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

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