Как я могу создать линейную диаграмму определенной строки из моей таблицы в PANDAS?

#pandas #charts #line

#pandas #Диаграммы #строка

Вопрос:

       PARENT    Week    Month   Weekend
---------------------------------------
1010D   AX1      665    1633    687
1009A   BX1     1372    1484    1173 
1013B   CX1      895     941    777 
1007B   DX1      829     932    773
  

Это мой файл mydata.csv. (извините, я не смог выровнять значения строк по определенным столбцам, задав вопрос в формате stackoverflow. @glhr

Как можно нарисовать линейную диаграмму размером BX1 в столбце NAME для значений недели, месяца и выходных дней с использованием Pandas?

Комментарии:

1. Вам это нужно df.loc[df['NAME'] == 'BX1', ['Week','Month','Weekend']].plot() ? Какие значения выводятся из выборочных данных? Возможно ли дублирование BX1 ?

2. да, это должно работать, если несколько значений BX1 , если только одно, то нет.

3. #израэль <br/> Я использую следующий код, но pandas показывает пустую диаграмму <br/>импортируйте pandas как pd<br/> <br> импортируйте matplotlib.pyplot как plt <br/> %matplotlib inline <br/> df = pd.read_csv(‘mydata.csv’) <br/> df.loc[df[‘NAME’] == ‘BX1’, [‘Неделя’, ‘Месяц’, ‘Выходные’]].plot() <br/>

4. если уникальные значения BX1 , то это ожидаемо. Итак, сначала вам нужно выполнить транспонирование, а затем построить график по df.loc[df['NAME'] == 'BX1', ['Week','Month','Weekend']].T.plot() ?

5. @jezrael BX1 имеет 3 значения — Неделя = 1372, месяц = 1484 и выходные = 1173. просто нужен код для извлечения строки BX1 и отображения ее значений за неделю / выходные / месяц на простой линейной или столбчатой диаграмме.

Ответ №1:

Если только уникальное значение BX1 значение после фильтрации по boolean indexing транспонировать и добавить DataFrame.squeeze для преобразовать один столбец DataFrame в Series и построить график по plot.bar :

 df.loc[df['NAME'] == 'BX1', ['Week','Month','Weekend']].T.squeeze().plot.bar()
  

Или:

 df.loc[df['NAME'] == 'BX1', ['Week','Month','Weekend']].T.squeeze().plot()
  

Комментарии:

1. именно то, что мне было нужно! Спасибо @jezrael.

2. получилось! Спасибо. Я совершенно новичок в stackoverflow.

3. Хорошее использование squeeze. 🙂

4. @anky_91 — Спасибо 🙂