我想绘制这样的数据
| |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 包。
我正在尝试创建多个这样的小部件:
下拉(主机名) 线图(abstime vs cpu)下拉(类型) 按 id 着色
下拉(主机名) 线图(abstime vs cpu)下拉(类型) 下拉(ID)
线图(abstime vs cpu)下拉(主机名) 按类型着色
我认为理想情况下是使用类似的东西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 文件),所以如果这很重要,我会依赖延迟计算......
谢谢!