pandas のベクトル化を体験しよう
この演習では、pandas の Series に対してベクトル化を使い、次を行います。
- 各手札(行)に含まれるカードのランクの平均を計算する
- 各手札に含まれる5枚のカード(列)それぞれのランクの平均を計算する
どちらの方法が効率的かを比較するために、再び poker_hands データセットを使います。
この演習はコースの一部です
pandasで効率的にコードを書く
演習の手順
- 各手札ごとの平均ランクを計算してください。
- すべての手札について、5枚の各カードごとの平均ランクを計算してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Calculate the mean rank in each hand
row_start_time = time.time()
mean_r = poker_hands[['R1', 'R2', 'R3', 'R4', 'R5']].____(axis=____)
print("Time using pandas vectorization for rows: {} sec".format(time.time() - row_start_time))
print(mean_r.head())
# Calculate the mean rank of each of the 5 card in all hands
col_start_time = time.time()
mean_c = poker_hands[['R1', 'R2', 'R3', ____, ____]].____(____=____)
print("Time using pandas vectorization for columns: {} sec".format(time.time() - col_start_time))
print(mean_c.head())