В настоящее время я читаю учебник от jphwang о том, как создать гексабиновый график для диаграмм выстрела, но в настоящее время я сталкиваюсь с ошибкой при получении процентов на гексабин.
Код в настоящее время читает:
shots_hex = plt.hexbin(shots_df.LOC_X, shots_df.LOC_Y,
extent=(-250, 250, 422.5, -47.5), cmap='Blues', gridsize=40)
make_df = shots_df[shots_df.SHOT_MADE_FLAG == 1]
makes_hex = plt.hexbin(make_df.LOC_X, make_df.LOC_Y, extent=(-250, 250, 422.5, -47.5),
cmap=plt.cm.Reds, gridsize=40)
plt.close()
pcts_by_hex = makes_hex.get_array() / shots_hex.get_array()
Я проверил, выводят ли makes_hex.get_array()
и shots_hex.get_array()
массив для выборки размера снимков, сделанных и сделанных в каждом гексабине, что выглядит неплохо. Так что я застрял в том, почему строка кода pcts_by_hex не работает так, как в учебнике. Я сталкиваюсь с
RuntimeWarning: недопустимое значение в true_divide
ошибка, и я не уверен, как это исправить. Я подозреваю, что эта ошибка происходит из-за ошибки деления на 0, но как обойти это, поскольку некоторые гексабины будут иметь размер выборки 0. Любая помощь будет оценена.