Фрейм данных Pandas с перекрытием категории группы - PullRequest
0 голосов
/ 07 мая 2018

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

import pandas as pd
import datetime
idx = pd.date_range('02-28-2018', '04-29-2018')

df = pd.DataFrame(
    [[ '101', '2018-03-29', 'Smooth','9.0'], [
         '102', '2018-03-29', 'Hard','1.0',
    ], [ '103', '2018-03-30', 'Narrow','1.1'], [
         '104', '2018-04-30', 'Sharp','2.0'
    ], [ '105', '2018-04-21', 'Narrow','2.2'],[ '105', '2018-05-21', 'Narrow','2.1'],[ '105', '2018-05-22', 'Narrow','2.0']],
    columns=[ 'accountid', 'timestamp', 'category','score'])

df['timestamp'] = pd.to_datetime(df['timestamp'])
df=df.set_index(['timestamp'])
print(df)



      accountid category score
timestamp                          
2018-03-29       101   Smooth   9.0
2018-03-29       102     Hard   1.0
2018-03-30       103   Narrow   1.1
2018-04-30       104    Sharp   2.0
2018-04-21       105   Narrow   2.2
2018-05-21       105   Narrow   2.1
2018-05-22       105   Narrow   2.0

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Чтобы избежать проблемы с повторяющимися строками, при создании индекса добавляйте метки времени и столбцы категорий.

df['score'] = df['score'].astype('float')    
df.reset_index().set_index(['timestamp', 'category'],append=True) \
['score'].unstack('category').plot(stacked=True)
plt.show()
0 голосов
/ 07 мая 2018
df['score'] = df['score'].astype('float')    
df.reset_index().set_index(['timestamp', 'category'])['score'].unstack('category').plot(stacked=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...