#python #pandas #matplotlib #seaborn
#python #панды #matplotlib #seaborn
Вопрос:
У меня есть фрейм данных с 3 столбцами: 'values'
, 'date'
, 'gender'
. У меня есть некоторый код, который создает линейный график из двух столбцов.
Код
f = plt.figure(figsize=(14,6))
plt.plot(twelve_week_program.groupby(['date'])['values'].mean(), linewidth=5)
Я хочу включить 'gender'
столбец, построив две разные строки: одну для мужчин и одну для женщин. Код на данный момент не учитывает пол. Он просто отображает каждую из строк.
Идеальный результат
Тот же график, только с двумя линейными графиками — по одному для каждого пола.
Комментарии:
1. Чтобы добавить еще одну строку, просто напишите новую строку кода
plt.plot(....)
под вашей первойplt.plot(twelve_week_program...)
Ответ №1:
Я бы установил индекс фрейма данных в качестве столбца ‘date’, затем использовал:
plt.plot(twelve_week_program.values[twelve_week_program.gender=='F']), linewidth=5)
plt.plot(twelve_week_program.values[twelve_week_program.gender=='M']), linewidth=5)
plt.show()
Предоставление ‘F’ и ‘M’ — это то, как вы представили столбец
Ответ №2:
Мой ответ:
plt.plot(df.groupby(
[df['date'], 'gender'])['values'].mean().unstack(), linewidth=5)