Pythonの初心者がよく忘れがちなのが、DataFrame中の特定の位置のデータを抽出する方法です。
毎回、Googleで検索して調べるのも大変ですので、こちらのデータを例に取り出し方法をまとめます。
ドラクエに関するこちらのDataFrameをdfとします。
特定のカラム(列)を取り出す
特定のカラムは、df[‘カラム名’]、またはdf.カラム名で取り出せます。
df['HP']
戦士 120
勇者 110
僧侶 75
魔法使い 50
Name: HP, dtype: int32
df.HP
戦士 120
勇者 110
僧侶 75
魔法使い 50
Name: HP, dtype: int32
カラムを2本以上取り出すとDataFrameのままですが、今回のように1本だけ取り出すとSeriesの形になります。
1本取り出す場合もDataFrameのままにしたいなら、角カッコ[ ]で括ってください。
df[['HP']]
特定のラベル(行)を取り出す
df.iloc[行番号]で取り出せます。ilocがつくことにご注意ください。
df.iloc[0]
HP 120
MP 0
Name: 戦士, dtype: int32
DataFrameのままにしたいなら、角カッコ[ ]で括ります。
df.iloc[[0]]
特定のエリアを取り出す
例えば、1行1列目だけを取り出すならこのようにします。
df.iloc[0:1,0:1]
簡単です。
なお、数字ではなく、ラベル(index)やカラムの名前でエリアを指定するならilocではなくlocを使います。
df.loc['戦士','HP']
120
df.loc[['戦士'],['HP']]
最後に
DataFrameの中のデータをfor文で順番に処理していく方法をよく使います。
その方法はこちらを参照してください。