#python #pandas #string #label #histogram
#python #pandas #строка #метка #гистограмма
Вопрос:
Прошу прощения, если этот вопрос является дубликатом, я также подумал, что было бы легко найти ответ… Итак, моя проблема на самом деле в более общем плане связана с вставкой значения из объекта series в строку, но это происходит в контексте гистограммы с добавленной строкой для медианы, где я хочу, чтобы легенда для медианной линии отображала фактическую медиану. Вот данные игрушки
df = pd.DataFrame({'age': ['1', '2', '3', '4', '5', '6', '7',
'8', '9', '10', '11', '12', '13', '14',
'15', '16', '17', '18', '19', '20', '21']})
И урезанный код для получения графика
color = '#003366'
color2 = '#fc4f30'
ages = df['age']
bins = np.arange(5, 100, 2).tolist()
median_age = df['age'].median()
plt.hist(ages, bins=bins, color=color, edgecolor='black', alpha= 0.9)
plt.axvline(median_age, color=color2, label='Age Median', linewidth=2)
plt.legend()
plt.show()
Я хотел бы изменить переход label='Age Median'
, чтобы быть label='Age Median = df['age'].median()'
, но я не понимаю, как вставить скаляр в строку. Какие-либо подсказки?
Ответ №1:
Хорошо, один из способов сделать это — вставить {:.2f}
в строку, а затем добавить .format(median_age)
после строки.
plt.axvline(median_age, color=color2, label="Age Median = {:.2f}".format(median_age), linewidth=2)
Примечание: {:.2f}
это форматирование числа и дает два десятичных знака.
Ссылка: https://matthew-brett.github.io/teaching/string_formatting.html