4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

pandasの要素抽出 個人メモ

Last updated at Posted at 2018-01-23

pandasにおけるデータの取り出し方についてメモ。
DataFrame型に絞ります。
都度更新して行きます。

1.columnの指定

DataFrame型のデータに対して、カラム名を指定することでそのカラムに属するデータを抽出できる。

columnの指定
import pandas as pd
sample = pd.DataFrame({'A':[1,4,6],'B':[2,5,7],'C':[3,6,8]})
sample
sample['A']

→ sample

A B C
0 1 2 3
1 4 5 6
2 6 7 8

→ sample['A']

A
0 1
1 4
2 6

また、複数のカラム名を指定してデータを抽出することも可能。
ただし、その場合抽出されるデータが二次元となるため、
[ ] を一段増やすことを忘れてはいけない。

複数のカラム指定
sample[['A','B']]
A B
0 1 2
1 4 5
2 6 7

2.iloc系による抽出

iloc

カラム名ではなく、行列の要素番号を指定してデータを抽出する場合には iloc を用いる。

ilocによる抽出
sample.iloc[[1],[2]]  #1行目の2列目(0行目、0列目があることに注意)、を指定
sample.iloc[:,1:]     #全ての行の1列目以降、を指定
sample.iloc[[1]]      #1行目を指定

→ sample.iloc[[1],[2]]

C
1 6

→ sample.iloc[:,1:]

B C
0 2 3
1 5 6
2 7 8

→ sample.iloc[[1]]

A B C
1 4 5 6

loc

要素番号ではなく、列名または行名を用いてデータを抽出する場合には loc を用いる。
なおsampleでは行名が[0, 1, 2 ]となっているが、これはindexではなく名前だと認識する。

locによる抽出
sample.loc[[0], ['A']]  #「0」という名の行のA列
sample.loc[[2], ['C']] #「2」という名の行のC列
sample.loc[[1]]         #「1」という名の行を指定
  • → sample.loc[[0] , ['A']]*
A
0 1
  • → sample.loc[[2] , ['C']]*
C
2 8

→ sample.loc[[1]]

A B C
1 4 5 6

ix

要素番号、カラム名のいずれも使用してデータを抽出する場合には ix を用いる。

ixによる抽出
sample.ix[[2],[2]]
sample.ix[[0],1:]

→ sample.ix[[2],[2]]

C
2 8

→ sample.ix[[0],1:]

B C
0 2 3

iloc,loc,ix まとめ

  • ilocは index を用いてデータを抽出する
  • locは 列名または行名 を用いてデータを抽出する
  • ixは index,列名,行名 の両方を用いて(あるいは一方だけを用いて)データを抽出する

抽出に成功するパターンと失敗するパターン

iloc,loc,ixにおける成功と失敗パターン
sample.iloc[[0],[0]]        #成功
sample.iloc[[0],['A']]      #失敗。iloc はindex(要素番号)でしかアクセスできない

sample.loc[[0],['A']]       #成功
sample.loc[[0],[0]]         #失敗。loc は名前でしかアクセスできない

sample.ix[[0],[0]]          #成功
sample.ix[[0],['A']]        #成功

4
7
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
4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?