用数据分析来管理设备

由于现在移动设备厂商多,机型多,为了测试兼容性,导致测试的设备也多。如何管理好测试设备,也是有学问的。

很多公司,会买很多测试设备来测试兼容性。有的设备是共享的,有人借走设备没有及时归还。
或者设备需要系统更新升级,淘汰老设备,购置新设备等,都需要有人去管理。怎么能高效的管理设备?

首先我们来认识一个python数据分析的利器:pandas
Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。
pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

pandas很方便的从一个csv,excel文件,或者一个web,一个数据库,捞到这样一张表。
无论是存储在excel,还是存储在数据库,展示在web page上。我们可以通过爬虫等方法,得到一个这样的表。
对pandas来说,就是一个二维的数组。

  1. 读写csv,excel
pd.to_csv("devices_tablet.csv")
pd.read_csv("devices_tablet.csv")
pd.to_excel()
pd.read_excel()
  1. 从网页的表中捞数据(前提是网页中需要有表结构)
    比爬虫方便多了。
pd.read_html()
  1. 从数据库中捞数据。
pd.to_sql()
pd.read_sql()

假设我们有个这样的设备列表。记录在conflunce上的,使用起来方便,有改动记录,提醒,账号等各方面功能。


Screen Shot 2017-08-01 at 4.14.33 PM.png

好了,我们可以捞到这张表。

result = requests.Session().get(CONFLUENCE_DEVICE_TRACKING_URL, verify=False).content
table = pd.read_html(result)
android_device = table[0]

然后按照某些关键字,存储到文件中去:

phone_device = android_device[android_device[4] == 'Tablet']
phone_device.to_csv("devices_tablet.csv")

按照某些行列,就可以得到我们想要的数据。
如我想知道品牌,和版本:

print(phone_device.groupby(5).size())
print(phone_device.groupby(1).size())

结果类似这样的:

Android 4.0.4    1
Android 4.1.2    6
Android 4.3.0    1
Android 4.4.4    1
Android 5.0      1
Android 5.1.1    2
Android 6.0.1    1
Android 7.1.1    1

一段代码,就可以画成图表:

sum_df = phone_device.groupby(5).size()
sum_df.plot(kind='pie', subplots=True, autopct='%.2f', figsize=(8, 8), title = "Versions", legend = True)  # 显示百分比
plt.show()

结果如下:

Screen Shot 2017-08-01 at 4.48.10 PM.png

轻轻松松的就统计出来了。
根据统计,就可以升级,淘汰,购买设备了。
当然,还可以加段代码,定义一个规则,借出的设备,超过多长时间,自动发邮件提醒。

更多精彩,请关注微信公众号: python爱好部落

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容