セクターと取引所ごとに複数の指標を計算する
.agg() 関数を使うと、より多様な方法でデータを集計できます。統計手法名のリストを渡すと、複数の要約統計量を一度に計算します。集計後の列名は rename メソッドで付け替えられます。rename は辞書を受け取り、キーに計算したメトリクス名、値に希望する新しい名前を指定します。
この演習では、時価総額(USD単位)を百万単位に換算したうえで、その平均、中央値、標準偏差を計算します。pandas は pd、matplotlib.pyplot は plt としてインポート済みで、参照列 'Exchange' を持つ listings DataFrame がワークスペースに用意されています。
この演習はコースの一部です
Pythonでの金融データのインポートと管理
演習の手順
- ブロードキャストと
.div()を使って、USDの時価総額を百万単位にした新しい列'market_cap_m'を作成します。 - データを
'Sector'と'Exchange'の両方でグループ化し、結果をby_sector_exchangeに代入します。 by_sector_exchangeのmarket_cap_m列を取り出して、変数bse_mcmに代入します。.agg()を使ってmarket_cap_mの mean、median、std を計算し、rename メソッドのキーワード引数columnsに辞書を渡して、それぞれの結果の列名を'Average'、'Median'、'Standard Deviation'に変更し、summaryに代入します。- 結果をコンソールに表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create market_cap_m
listings['market_cap_m'] = ____[____].div(1e6)
# Group listing by both Sector and Exchange
by_sector_exchange = ____.____(['Sector', 'Exchange'])
# Subset market_cap_m of by_sector_exchange
bse_mcm = ____[____]
# Calculate mean, median, and std in summary
summary = ____.____(['____', '____', '____']).rename(columns={'mean': ____, 'median': ____, 'std':____})
# Print the summary
print(summary)