以底層陣列取代 .iloc
現在你已經更了解 DataFrame 的內部結構,讓我們把你先前的一段分析改寫為使用 DataFrame 的底層陣列。你會回顧先前用 .iloc 逐列計算勝率(win percentage)的程式碼:
def calc_win_perc(wins, games_played):
win_perc = wins / games_played
return np.round(win_perc,2)
win_percs_list = []
for i in range(len(baseball_df)):
row = baseball_df.iloc[i]
wins = row['W']
games_played = row['G']
win_perc = calc_win_perc(wins, games_played)
win_percs_list.append(win_perc)
baseball_df['WP'] = win_percs_list
讓我們把這段分析改成用陣列,而不是 .iloc。一個 DataFrame(baseball_df)已載入到你的工作階段。
本練習屬於課程
撰寫高效的 Python 程式碼
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Use the W array and G array to calculate win percentages
win_percs_np = calc_win_perc(baseball_df[____].____, baseball_df[____].____)