演習課題「インデックスのマッピング」
コードエリアには、データフレームdfが定義されています。
このデータフレームdfの行や列の名前を、次のように更新して出力してください。
- 行: 数字が2桁になるように、先頭に適宜0を埋める
- 列: "Spot"
を"Point"
に更新する
採点の前にはすべてのセルを実行し、ノートブックを保存してください。
※ 回答時にはprint(df)
をコメントアウトして回答してください。
※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#08:インデックスのマッピング(rename)
このチャプターでは、行や列の名前に対して関数を適用する方法を学習します。
- renameメソッドを用いることで、データフレームの行や列の名前に関数を適用して、その名前を更新した、新しいデータフレームを取得することができる
import pandas as pd
def increment(x):
return x + 1
def capitalize(s):
return s.capitalize()
df = pd.DataFrame([["kirishima", "ruby"], ["rokumura", "python"], ["midorikawa", "c"]], columns=["student", "lang"])
print(df.rename(index=increment, columns=capitalize))
- 引数indexに関数を渡すことで、その関数を各行の名前に適用して名前を更新することができる
- 引数columnsに関数を渡すことで、その関数を各列の名前に適用して名前を更新することができる
- lambda式を用いると、次のように書くこともできる
import pandas as pd
df = pd.DataFrame([["kirishima", "ruby"], ["rokumura", "python"], ["midorikawa", "c"]], columns=["student", "lang"])
print(df.rename(index=lambda x: x+1, columns=lambda s: s.capitalize()))