Как вывести данные за день недели и час в python - PullRequest
0 голосов
/ 28 февраля 2020

Я хочу нанести на график свои данные временных рядов (велосипедов), указав среднее число велосипедов в час и день недели.

Вот выдержка из исходных данных:

date                    nb_bike     
2019-09-20 12:00:00     15  
2019-09-20 13:00:00     10  
2019-09-20 14:00:00     17  
2019-09-20 15:00:00     12  
2019-09-20 16:00:00     24  

Я вычислил это среднее значение для дня недели и часа следующим образом:

data_b = data_b_init.groupby([data_b_init.index.weekday.rename('wkday'),data_b_init.index.hour.rename('hour')]).mean()
data_b = data_b.reset_index()

Поэтому я хочу построить эти данные (здесь выписка):

data_b

wkday   hour    nb_bike_mean    
0   0   0.44    
0   1   0.11    
0   2   0.00    
0   3   0.11    
0   4   0.00    
0   5   0.67    
0   6   0.78    
0   7   6.44    
0   8   13.83   
0   9   9.78    

Я хотел бы сделать что-то вроде этого: Как вывести данные за час, сгруппированные по дням? (особенно, как на этом графике: enter image description here

, но я не могу найти, как делайте это, сохраняя информацию только по дням и часам, а не по дням.

Например, я попробовал этот код:

sns.lineplot(x='hour',y='nb_bike_mean',data=data_b, hue='wkday')

, но это не то, что я хочу, потому что я хочу оба wkday и час на оси х.

Знаете ли вы способ построения графика с двумя уровнями на оси х?

Или лучше, чтобы wkday и час были распознаны как дата и время, и объединить их в качестве индекса?

...