Установить ось Y в качестве количества оттенков, используя панды + морского происхождения - PullRequest
0 голосов
/ 30 мая 2018

У меня есть кадр данных, который выглядит следующим образом:

   unique_id  element   day-only
0   52221039    4       28
1   5212263     3       28
2   5244438     LS      27
3   4975676     4       22
4   9023691     1       24

Я пытаюсь получить lmplot, который отображает частоту, с которой element появляется каждый день, так же, как показано нижеcountplot, в основном.

fig = sns.countplot(x="day-only", hue="element", data=df, hue_order=["1","2","3","4","LS","EA"], palette=color_element)

Однако я не могу найти способ сопоставить мой счет element со значением y.Я пытался

horse = df["element"].value_counts()
count_of_y = numpy.asarray(horse)

А потом fig = sns.lmplot(x="day-only", y=count_of_y, hue="element", data=df)

Это, конечно, не сработало, поскольку документация seaborn сообщала мне, что y должен быть равен столбцу в моем фрейме данных,И я не могу найти способ получить простое количество элементов в качестве моей меры по оси Y.Я также пытался подсчитать unique_id, но это тоже не сработало.

Это похоже на очень простой вопрос, и все же я не могу найти решение!Спасибо за любую помощь!

1 Ответ

0 голосов
/ 30 мая 2018

Я понял, где лежит моя ошибка, и решил мою проблему.Я создал новый фрейм данных следующим образом:

count_of_y = df["element"].groupby(df["day-only"]).value_counts().rename("counts").reset_index()
count_of_y

, который дал мне три столбца с подсчетами в нужном месте.Я тогда смог построить с этим.

fig = sns.lmplot(x="day-only", y="counts", hue="element", data=count_of_y, hue_order=["1","2","3","4","LS", "EA"], palette=color_element)

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