【发布时间】:2016-08-21 04:15:33
【问题描述】:
我有以下问题:
给定一个带有多个唯一主机名的 pandas 数据框,我想绘制一个水平条形图,指示此主机名出现特定问题的时间长度。
我有以下代码:
# Create a bar plot for each unique system name of all ticket entries
for sys_name in unique_sys_names:
# Grab the df that refers to just the issues with that system name
j_data_sys = eff_j_data[eff_j_data['System Name'] == sys_name]
eff_j_data_sys = j_data_sys[['Created','Resolved','Summary']]
eff_j_data_sys.plot.barh(x=eff_j_data_sys['Resolved']-eff_j_data_sys['Created'],y=range(0,len(eff_j_data_sys)))
本质上,我在更大的 pandas 数据框中有唯一的主机名,每个问题的范围从 1 到 N。在 for 循环中,我只需遍历唯一的主机名 (sys_name),然后获取所有相关的问题到j_data_sys 中的主机名。然后,我抓住每个问题的创建和解决时间以及问题的摘要。我想要做的都在下图中表示:Example Bar Plot
当然,这可能包括 N 个问题,每个问题都有相应的开始和结束时间戳。
包含此数据的示例数据框是:
Created Resolved Summary
9 2016-04-25 10:29:00 2016-04-26 13:22:00 1 Blade Missing
10 2016-04-25 10:10:00 2016-04-25 10:23:00 Blade in Lockdown
建议以适当的方式最好地表示此数据的任何其他建议。
谢谢,
【问题讨论】:
标签: python pandas matplotlib plot graph