Создание графиков для определенных значений столбцов в Python - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть значения, которые повторяются по ЧАСУ (0-23) для каждого месяца (1-12) в каждом году, например:

Year    Month     HOUR  NAME            RATE
2010    1          0    Big              2  
2010    1          0    Channelview      4
2010    1          0    Cottonwood       12
2010    1          1    Big              4  
2010    1          1    Channelview      9
2010    1          1    Cottonwood       11
.
.
.
2010    2          0    Big              6  
2010    2          0    Channelview      10
2010    2          0    Cottonwood       17
.
.
2013    1          0    Big              4  
2013    1          0    Channelview      9
2013    1          0    Cottonwood       11

Я бы хотел построить эти данные RATE (ось Y) по ЧАСУ (ось X) для ИМЕНИ для каждого месяца в году (идет за 7 лет). Есть ли способ сделать это с помощью .groupby или .loc без необходимости создания дополнительных фреймов данных на основе года и месяца?

1 Ответ

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

Вы можете сделать это, используя groupby:

for name, data in df.groupby('NAME'):
    plt.plot(data['HOUR'], data['RATE'], label=name)

plt.xlabel('Hour')
plt.ylabel('Rate')
plt.legend()
plt.show()

enter image description here

[РЕДАКТИРОВАТЬ] На основе ваших комментариев, чтобы создать и сохранить отдельный график для каждого имени, вы можете сделать что-то вроде:

for name, data in df.groupby('NAME'):
    plt.plot(data['HOUR'], data['RATE'], label=name)
    plt.xlabel('Hour')
    plt.ylabel('Rate')
    plt.legend()
    plt.savefig('plot_{}.png'.format(name))
    plt.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...