用底层数组替换 .iloc
既然您更了解 DataFrame 的内部结构了,让我们把之前的一段分析改写为使用 DataFrame 的底层数组。您将回顾之前用 .iloc 按行计算胜率的代码:
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[____].____)