こんにちは、しらすです。
27日目です。本日の習得スキルは「pandas.DataFrameの各データにアクセス」です!
pandas.DataFrameの各データにアクセスでできること
pandas.DataFrame形式で読み込んだデータに対して格納されたデータを抜き出すことができます。今回はat,iat,loc,iloc,ixなどの参照用の関数の便利さを実感するために、まずはこれらを使用せずにデータ参照を行ってみました。
使い方
import pandas as pd
df=pd.DataFrame([[1,2,3,4,5,6],
[10,20,30,40,50,60],
[100,200,300,400,500,600],
[1000,2000,3000,4000,5000,6000]],
index=['row_0', 'row_1','row_2','row_3'],
columns=['col_0','col_1','col_2','col_3','col_4','col_5'])
result1 = df['col_1'] #Column参照ができます
result2 = df['col_1']['row_1'] #Columnとの組み合わせで行ラベルでの参照も可能
結果
列名での参照を主として使用することができます。ただし以下のような行列番号での参照やスライス、特定の行のデータを全て抜き出すことができないということがわかりました。この辺りがloc, ilocなどを用いるモチベーションになります。
#result = df(1,2) #行列番号で参照できない
#result = df[0:1,0:2] #直接スライスできない
#result = df['row_1'] #行ラベルでの参照も不可
#result = df['col_1','col_2','col_3']['row_1'] #複数のColumnを選択できないため一行読み出しは不可
参考
pandasで任意の位置の値を取得・変更するat, iat, loc, iloc | note.nkmk.me
pandas.DataFrameの任意の位置のデータを取り出したり変更(代入)したりするには、at, iat, loc, ilocを使う。at()ではなくat[]のように記述する。 pandas.DataFrame.at — pandas 2.0.3 documentation pandas.Data ...
コメント