一般社団法人 全国個人事業主支援協会

COLUMN コラム

Cross-section

xs()メソッドを使って、特定levelの要素を取得しやすくできる。idxを使用するよりさらに直感的。

 

df.xs("one", level="second")
df.xs("bar", level="first")

 

Sliceを用いるとこのような感じ

 

df.loc[(slice(None), "one"), :]

 

IndexSliceを用いるとこう

 

df.loc[idx[:, "one"], :]

 

axisで列方向への選択も可能

 

df.xs("one", level="second", axis=1)

 

タプルを引数にし、複数の条件での抽出も可能

 

df.xs(("one", "bar"), level=("second", "first"), axis=1)

 

drop_level引数へFalseを指定することで、levelの状態を保ったまま抽出が行える。IndexSliceを用いた抽出結果と同一になる

 

df.xs("one", level="second", axis=1, drop_level=False)

 

デフォルトはTrue

 

df.xs("one", level="second", axis=1, drop_level=True)
The following two tabs change content below.

WATANABE REN

千葉県在住のエンジニアです。最近はPythonやってます。

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア