はじめに
pandas を用いてデータフレームを扱う場合、範囲を絞ることによって必要なデータのみを得ることが必要である
今回はloc, iloc, at, iat
を用いて必要な範囲のみを指定し、範囲を絞ることを紹介する。
環境
window 10
import sys
print(sys.version)
print(pd.__version__)
3.7.8 (tags/v3.7.8:4b47a5b6ba, Jun 28 2020, 07:55:33) [MSC v.1916 32 bit (Intel)]
1.3.5
Code
import pandas as pd
df = pd.read_excel('./data.xlsx', index_col = 0)
df
loc, iloc
データフレームの行もしくは列を取得するためにはloc、iloc
を利用する。
行名、列名を用いてるときは -> loc
行もしくは列のindexを用いるときは indexの"i"を用いて -> iloc
loc
'Kobayashi'
の行を取得する
df.loc[['Kobayashi'],:]
'Point','ambition'
の列を取得する
df.loc[:,['Point','ambition']]
'Kobayashi', 'Aizawa'
の行、'Point','ambition'
の列を取得する
df.loc[['Kobayashi', 'Aizawa'],['Point','ambition']]
iloc
1,2
番目の行を取得する
df.iloc[[1,2],:]
1,2
番目の列を使用する
df.iloc[:,[1,2]]
1
以上の行、1,2
の列を取得する
df.iloc[1:,[1,2]]
at, iat
at, iat
は特定の行、列に属する値を取得する
at
行が'Tanaka'
, 列が'Point'
の値を取得する
df.at['Tanaka','Point']
iat
行が1
番目, 列が1
番目の値を取得する
df.iat[1, 1]
まとめ
以上のように、必要に応じて範囲を絞ることによって必要とするデータのみを得ることができる
関連記事