Как построить 5 самых больших значений, полученных путем деления одного столбца на другой с помощью панд? - PullRequest
0 голосов
/ 18 ноября 2018

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

variety|points|price  
a      |  80  |  5  
b      |  85  |  6  
b      |  70  |  8  

и т. Д.

Я хотел бы создать барплот с использованием морского зерна, у которого есть разнообразие на оси х и отношение точек к цене на оси у. У меня около 150 тыс. Строк, поэтому я хочу отобразить только 5 лучших баллов / соотношение цены.

Это была моя идея, используя другой столбец с именем result:

df["Result"] = df["points"]/df["price"]
ax = sns.barplot(x="variety", data=df, order=df["Result"].iloc[:5].index)

который не работает.

Буду рад любому совету.

1 Ответ

0 голосов
/ 18 ноября 2018

Вы можете попробовать отфильтровать первые 5 самых больших значений, используя nlargest .

largest_five= df.nlargest(5,'Result')

Тогда постройте его

ax = sns.barplot(x="variety",y='Result', data=largest_five)

Дайте мне знать, если это работает.

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