LoginSignup
0
0

More than 5 years have passed since last update.

DataFrame で複数列インデックスで検索する方法

Posted at
df = pd.DataFrame({
    'A': ['a', 'b', 'c'],
    'B': ['x', 'y', 'z'],
    'C': [1, 2, 3],
}).set_index(['A', 'B'])

#       C
#  A B
#  - -  -
#  a x  1
#  b y  2
#  c z  3

これからインデックス A='b' and B='y' の値を取り出す方法:

df.loc[[('b', 'y')]]

#       C
#  A B
#  - -  -
#  b y  2

.loc[[インデックス]] と指定することで、該当行が取れる。
インデックスが複数列の場合は ('b', 'y') のようにタプルで指定することになる。

ちなみに .loc[[インデックス1, インデックス2, ...]] のようにカンマ区切りで指定すれば行を複数取れる。

df.loc[[('a', 'x'), ('b', 'y')]]

#       C
#  A B
#  - -  -
#  a x  1
#  b y  2
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0