前回DataFrameを使ってデータフレームを作成しました。
データフレームは2次元構造のデータのことでいわゆるテーブルでしたよね。
今回はデータフレームに格納されている1つの値を取得する方法について紹介します。
データフレームから1つの値を取得するには?
ここにある日のトレーニングデータがありました。
5行目1列目の値(60)を取得したいのですがこの場合はどうやって指定すれば良いでしょうか?
4つほど方法があります。
1. locメソッドを使う
locメソッドはこのように書きます。
loc[行名, 列名]
行名はインデックスが5, 列名はweightなのでloc[5, 'weight']
と指定すれば良さそうですね。
2. ilocメソッドを使う
ilocメソッドはこのように書きます。
iloc[インデックス行番号, インデックス列番号]
ilocメソッドはインデックス番号を指定します。
インデックス番号は0から始まるので5行目は4になりますね。
また1列目は0です。
そのためiloc[4, 0]
と指定しましょう。
カラム名を指定するとエラーになりました。
またインデックスは1から振り直していたのですがilocメソッドを使うときは0始まりになることに気をつけましょう。
3. atメソッドを使う
atメソッドはこのように書きます。
at[行名, 列名]
locメソッドと似たような使い方で名前を指定します。
インデックス番号を指定するとエラーになりました。
4. iatメソッド
iatメソッドはこのように書きます。
iat[インデックス行番号, インデックス列番号]
こちらもilocメソッドと同じようにインデックス番号を指定しましょう。
インデックスが範囲外だとエラーになったり
カラム名を指定するとエラーになります。
まとめ
今回はデータフレームから値を取得するメソッドを4つ紹介しました。
それぞれ略称を正式名称に直すと覚えやすいかなと思いました。
loc = location, i = index の略でした。atはそのままですね。
値を取得したいときはこの4のメソッドから選んで使いましょう!