#python #pandas #matplotlib #seaborn
#python #pandas #matplotlib #сиборн
Вопрос:
В настоящее время я получаю следующий график:
Но вместо построения 2 отдельных временных рядов, которые не связаны, я хочу отобразить столбец metrik_0 с другим цветом для каждого device_id.
import pandas as pd
from pandas import Timestamp
d = pd.DataFrame({'metrik_0': {Timestamp('2020-01-01 00:00:00'): -0.5161200349325471,
Timestamp('2020-01-01 01:00:00'): 0.6404118012330947,
Timestamp('2020-01-01 02:00:00'): -1.0127867504877557,
Timestamp('2020-01-01 03:00:00'): 0.25828987625529976,
Timestamp('2020-01-01 04:00:00'): -2.486778084008076,
Timestamp('2020-01-01 05:00:00'): -0.30695039872663826,
Timestamp('2020-01-01 06:00:00'): -0.6570670310316116,
Timestamp('2020-01-01 07:00:00'): 0.3274964731894147,
Timestamp('2020-01-01 08:00:00'): -0.8624113311084097,
Timestamp('2020-01-01 09:00:00'): 1.0832911260447902},
'device_id': {Timestamp('2020-01-01 00:00:00'): 9,
Timestamp('2020-01-01 01:00:00'): 1,
Timestamp('2020-01-01 02:00:00'): 1,
Timestamp('2020-01-01 03:00:00'): 9,
Timestamp('2020-01-01 04:00:00'): 9,
Timestamp('2020-01-01 05:00:00'): 9,
Timestamp('2020-01-01 06:00:00'): 9,
Timestamp('2020-01-01 07:00:00'): 1,
Timestamp('2020-01-01 08:00:00'): 1,
Timestamp('2020-01-01 09:00:00'): 9}})
d.plot()
При использовании seaborn будет работать следующее.
import seaborn as sns; sns.set()
d['device_id'] = d['device_id'].astype(str)
#display(d.head())
sns.lineplot(x='index', y='metrik_0', style='device_id', hue='device_id', data=d)
Может ли это быть изначально включено в вызов plot из pandas?
Комментарии:
1. Код Seaborn plot должен завершиться ошибкой, поскольку
index
не является столбцом.