Python pandasで特定の要素の値を抽出する「at, iat」

 本記事では、下図のようなpandasデータフレーム形式の表データに対して、行名、列名、もしくは行番号、列番号を指定して、任意の要素の値を抽出する雛形コードを載せました。

まず、csvのような表データは、次のようにしてpandasデータフレームで読み込みます。

import pandas as pd

df = pd.read_csv('titanic_train.csv', index_col = 3) # index_colは、行名(インデックス)にしたい列名がある場合に、その列番号を指定する
print(df)

すると、下図のような書式で読み込みます。

 以降、行列の要素の指定方法について、次の4つの雛形コードを載せます。1. [行名, 列名] 2. [行番号, 列番号] 3. [行名, 列番号] 4. [行番号, 列名] 

# 1. 行名,列名で指定して、要素を抽出する場合
val1 = df.at['Heikkinen, Miss. Laina', 'Ticket']
print(val1)

次のように要素を抽出できます。

# 2. 行番号,列番号で指定して、要素を抽出する場合
val2 = df.iat[2, 7]
print(val2)

次のように要素を抽出できます。

# 3. 行名, 列番号で指定して、要素を抽出する場合
val3 = df.at['Heikkinen, Miss. Laina', df.columns[7]]
print(val3)

次のように要素を抽出できます。

# 4. 行番号, 列名で指定して、要素を抽出する場合
val4 = df.at[df.index[2], 'Ticket']
print(val4)

次のように要素を抽出できます。

以上

<広告>