我正试图用Pandas显示一些基础设施使用情况的每日统计数据,但我是一个初学者,经过数小时的研究仍无法弄清楚。
以下是我每列的数据类型:
Name对象UserService对象项目大小int64项目计数int64提取日期日期时间64[ns]
每天我都会为每个用户进行新的提取,所以在打印之前我可能需要使用group_by。
数据样本:
Name UserService ItemSize ItemsCount ExtractionDate
1 xyzf_s xyfz 40 1 2018-12-12
2 xyzf1 xyzf 53 5 2018-12-12
3 xyzf2 xyzf 71 4 2018-12-12
4 xyzf3 xyzf 91 3 2018-12-12
14 vo12 vo 41 5 2018-12-12
我试图显示的一个图形如下:
x轴应为提取日期y轴应该是项目数(它除以1000,所以它除以从1到100的数千个项目)图表上的每一行都应该代表用户的演变(为了查看数据峰值),我想我必须显示前10名或前50名,因为很难有1500名用户的图表。
我还对利用这些数据来寻找数据增长和数据消耗异常的任何其他方式感兴趣。
假设用户显示在名称列中,并且每个用户每天只有一行,要获得明确要求的绘图,可以使用以下代码:
# Limit to 10 users
users_to_plot = df.Name.unique()[:10]
for u in users_to_plot:
mask = (df['Name'] == u)
values = df[mask]
plt.plot('ExtractionDate','ItemsCount',data=values.sort_values('ExtractionDate'))
查看数据并思考你试图提取的信息以及这些信息看起来是什么样子,这一点很重要。这可能值得先与一些人一起探索,并了解你试图识别的东西是什么。想想是什么让它独一无二,如果你能让它在图表上弹出。