Я хотел бы построить такие данные
| |abstime |hostname |type |id |cpu |mem |reltime|
-----------------------------------------------------------------------------
|0 |2017-06-21 02:45:39 |hw03 |ps |0 |16.0 |0.0 |0:00.08|
|1 |2017-06-21 02:45:43 |hw03 |ps |0 |98.0 |0.1 |0:02.23|
|2 |2017-06-21 02:45:48 |hw03 |ps |0 |1591.0 |0.1 |0:21.09|
|3 |2017-06-21 02:45:52 |hw03 |ps |0 |0.0 |0.1 |0:38.35|
|4 |2017-06-21 02:45:57 |hw03 |ps |0 |0.0 |0.1 |1:01.41|
с использованием пакета Holoviews Python.
Я пытаюсь создать несколько таких виджетов:
DROPDOWN (hostname) LINE PLOTS ( abstime vs cpu ) DROPDOWN (type) colored by id
DROPDOWN (hostname) LINE PLOT ( abstime vs cpu ) DROPDOWN (type) DROPDOWN (id)
LINE PLOT ( abstime vs cpu ) DROPDOWN (hostname) colored by type
Я думаю, что в идеале было бы использовать что-то вроде hv.Table
, а затем нарезать его кубиками, используя .to.curve
и другие техники Holoviews.
Я пытаюсь следовать примерам и руководствам, но ни у одного из них нет повторов в столбцах, поэтому я не понимаю, как сгруппировать, какими должны быть мои kdims, vdims и cdims ...
Например:
table=hv.Table(df,kdims=['abstime','reltime','hostname','type','id'],vdims=['cpu','mem'])
print(table)
#:Table [abstime,reltime,hostname,type,id] (cpu,mem)
table[None,None,{'hw03'},{'ps'},None].to.curve('abstime','cpu')
это дает мне ошибку при последнем звонке:
AttributeError: 'DataFrame' object has no attribute 'itertuple'
Любые связанные примеры высоко оценены!
Кстати, моя таблица df
- это Dask Dataframe (много файлов CSV), поэтому я полагаюсь на отложенные вычисления, если это имеет значение ...
Спасибо!
conda install -c ioam/label/dev holoviews
. - person philippjfr   schedule 21.06.2017