Я пытаюсь выделить ячейку среднего значения или ячейку наименьшего значения среднего значения в pandas карте тепла, но она всегда дает результат сбоя для меня. Я хочу выделить ячейку с точным средним значением в тепловой карте, если точное значение недоступно, значит необходимо выделить самое низкое значение для среднего значения.
Для примера: среднее значение равно 17,522, но недоступно в df, значит необходимо выделить 15.499 (см.
Здесь у меня есть общие скриншоты того, что я пробовал и чего я ожидаю от вашей ссылки.
Genius Всегда добро пожаловать!! Заранее спасибо.
Каждый Средние значения столбца:
array([17.60950419, 33.73034387, 46.63401871, 56.27580645, 52.62956452,
63.70669355, 71.75735484, 67.788 , 83.62327419, 75.41342 ])
Я пробовал следующий код, чтобы выделить одну ячейку
df_Mean=np.array(df.mean())
fig, ax = plt.subplots(figsize=(18,8))
cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", ["#f9f9f9","#B6DBF2","#327AD9","#3068D9"])
color = ["#f9f9f9",'#3068D9',"#f9f9f9","#f9f9f9","#B6DBF2","#327AD9","#3068D9"]
ax = sns.heatmap(df, annot=True, fmt=".5g", linewidths=.02,
cmap=cmap, vmin=0, vmax=300,cbar_kws={'label': 'Si.No'},
linecolor='#CBDBD7',
ax = ax,
xticklabels=1, yticklabels=1,
)
ax = sns.heatmap(df.round(),mask=(df > df_Mean),
vmin=10, vmax=80, cmap=color, cbar=False)
ax.invert_yaxis()
ax.yaxis.set_label_position("right")
ax.yaxis.tick_right()
ax.set_xticklabels(
ax.get_xticklabels(), color = 'darkgreen',
horizontalalignment='center');
ax.set_yticklabels(
ax.get_yticklabels(), color = 'darkblue',
horizontalalignment='right',
size = 10,);
ax.xaxis.set_tick_params(pad=10)
ax.yaxis.set_tick_params(pad=20)
plt.xlabel('Month', color = 'Maroon', size= 15)
plt.title('Testing_HeatMap', color = 'darkgreen', size = 20)
plt.show()
Я получаю этот вывод,
Ожидаемый результат: