График изменения во времени разных предметов - PullRequest
0 голосов
/ 29 сентября 2018

Добрый вечер,

У меня есть следующий фрейм данных, содержащий различные продукты в столбце товара и рейтинг их продаж, за три месяца (7-8-9):

print(df)

           item                           RANKING
month                                         
7          PRODUCT_1                         1
7          PRODUCT_2                         2
(...)  
8          PRODUCT_1                         4
8          PRODUCT_2                         3
(...)  
9          PRODUCT_1                         1
9          PRODUCT_2                         2

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

В частности, на оси x x месяцев (7-8-9), на оси y слева название продукта и, в конечном итоге, оси Y справа позиция / ранг его.

Я пытался:

df = df.set_index('month')

plt.figure(figsize=(12,5))

plt.plot(df["RANKING"],
         label = "Position")

plt.plot(df["item"],
         label = "Product")

plt.legend(loc = "upper right")
plt.xticks(rotation = 60)
plt.show()

Но он не отображается так, как описано ранее.

1 Ответ

0 голосов
/ 30 сентября 2018

попробуйте это:

products = sorted(set(df['item']))

plt.figure(figsize=(20,5))

for product in products:

    data = df.loc[df['item']==product].sort_values('month')

    X = data['month'].values
    y = data['RANKING'].values

    plt.plot(X,y)

plt.legend(products)

надеюсь, это поможет!

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