我的数据框有600行,形状为:
rpttime metric value
25/4/2018 15:45 UTIL_CPU 1.5
25/4/2018 15:44 IDLE 74
25/4/2018 15:41 REC_BYTES_S 0
25/4/2018 15:47 ENT_CPU 100
25/4/2018 15:44 ENT_CORE 1
25/4/2018 15:48 TRANS_BYTES 92
25/4/2018 15:43 PINNED 5425
25/4/2018 15:48 PAGING_PAG 0
25/4/2018 15:48 IOPS_IN NULL
25/4/2018 15:47 TRANS_BYTES_S 23484
25/4/2018 15:43 PAGE_OUT 0
25/4/2018 15:42 IOPS_OUT 10
我想绘制"值"的线图。 y轴上的列与#34; rpttime"在x轴上作为列中每个项目的时间序列" metric"。该列中有大约20个单独的项目" metric"。 "值"中有一些NULL值。对于"值"中的每个NULL值,要省略的行是要省略的行。柱。对于" metric"的每个单独项目,至少有一个NULL值。柱。这20个单独项目的所有线图都绘制在一个图表中。如何处理?
答案 0 :(得分:1)
如果您希望为每个metric
- 值绘制单独的行,则首先应groupby
指标:
grpd = df.groupby('metric')
然后,您可以迭代创建的组,根据rpttime
绘制每组值:
for name, data in grpd:
plt.plot(data.rpttime.values, data.value.values, 'x-', label = name)
plt.legend()
注意:您提供的数据不足以获得令人印象深刻的结果,因为公制中没有多个等于:
PS:用
导入数据df = pd.read_fwf('wherever/file/may/roam', colspecs=[(None, 15), (16, 31), (32, None)])
df.rpttime = pd.to_datetime(df.rpttime)
PPS:NA
自动处理,即:没有绘制NULL值(参见IOPS_IN
)
答案 1 :(得分:0)