Создать ось X из строки в панде - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь построить ось X из верхней строки моего информационного кадра и ось Y из другой строки в моем информационном кадре. Мой фрейм данных выглядит следующим образом:

sector_data =

Time    13:00   13:15   13:30   13:45
Utilities   1235654 1456267 1354894 1423124
Transports  506245  554862  534685  524962
Telecomms   142653  153264  162357  154698

Я пробовал много разных вещей, и это, кажется, имеет смысл. Но ничего не работает:

sector_data.plot(kind='line',x='Time',y='Utilities')
plt.show()

Я продолжаю получать: KeyError: 'Time'

Это должно выглядеть так:

Ожидаемая диаграмма

введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

Давайте возьмем пример DataFrame:

import pandas as pd
 df = pd.DataFrame({'ColA':['Time','Utilities','Transports','Telecomms'],'ColB':['13:00', 1235654, 506245, 142653],'ColC':['14:00', 1234654, 506145, 142650], 'ColD':['15:00', 4235654, 906245, 142053],'ColE':['16:00', 4205654, 906845, 742053]})
df = df.set_index('ColA') #set index for the column A or the values you want to plot for

Теперь вы можете легко построить график с помощью matplotlib

plt.plot(df.loc['Time'].values,df.loc['Utilities'].values)

enter image description here

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

Учитывая небольшую информацию, которую вы предоставляете, я считаю, что это должно помочь:

df = sector_data.T
df.plot(kind='line',x='Time',y='Utilities')
plt.show()

Вот как я сделал пример случая (я уже транспонировал кадр данных)

import pandas as pd
import matplotlib.pyplot as plt
a = {'Time':['13:00','13:15','13:30','13:45'],'Utilities':[1235654,1456267,1354894,1423124],'Transports':[506245,554862,534685,524962],'Telecomms':[142653,153264,162357,154698]}
df = pd.DataFrame(a)
df.plot(kind='line',x='Time',y='Utilities')
plt.show()

Вывод: enter image description here

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