Pythonのpandasメソッド xs

2023年10月9日

pandasxsメソッドは、データフレームやパネルから特定の行または列を選択するためのメソッドです。このメソッドは、ラベルまたは位置に基づいてデータを抽出するのに使用されます。

xsメソッドの基本的な構文は以下です:

python
result = df.xs(key, axis=0, level=None, drop_level=True)

主な引数は以下です:

  • key: ラベルまたは位置に基づいて選択したい行または列の名前または位置を指定します。
  • axis: 選択を行う軸を指定します。0は行を、1は列を表します。
  • level: マルチインデックスを持つデータフレームの場合、特定のインデックスレベルを指定できます。
  • drop_level: level引数を指定した場合、選択したレベルを削除するかどうかを指定します。

以下はいくつかの例を示します:

python
import pandas as pd

# サンプルのデータフレームを作成する
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
index = ['X', 'Y', 'Z']
df = pd.DataFrame(data, index=index)

# ラベル 'Y' に対応する行を選択する
row_y = df.xs('Y')

# 列 'A' を選択する
column_a = df.xs('A', axis=1)

# マルチインデックスを持つデータフレームの例
data = {'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]}
index = pd.MultiIndex.from_tuples([('X', 1), ('X', 2), ('Y', 1), ('Y', 2), ('Z', 1)], names=['A', 'B'])
df_multi = pd.DataFrame(data, index=index)

# レベル 'A' の 'X' に対応する行を選択する
row_x = df_multi.xs('X', level='A')

これらの例では、xsメソッドを使用して、特定の行や列をデータフレームから選択しています。key引数にラベルを指定することで、該当するデータが選択されます。