Matplotlib: сократить линейный график для конкретных полов - PullRequest
0 голосов
/ 15 марта 2019

У меня есть DataFrame с 3 столбцами: 'values', 'date', 'gender'.У меня есть некоторый код, который производит линейный график двух столбцов.

Код

f = plt.figure(figsize=(14,6))

plt.plot(twelve_week_program.groupby(['date'])['values'].mean(), linewidth=5)

Plot

Я хочу включить столбец 'gender', построив две разные линии: одну для мужчин и одну для женщин.Код на данный момент не учитывает пол.Он просто отображает каждую строку.

Идеальный результат

Тот же график, только с двумя линейными графиками - по одному для каждого пола.

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Мой ответ:

plt.plot(df.groupby(
[df['date'], 'gender'])['values'].mean().unstack(), linewidth=5)
0 голосов
/ 15 марта 2019

Я бы установил индекс DataFrame как столбец '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', то как вы представляли столбец

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...