用数据分析来管理设备

由于现在移动设备厂商多,机型多,为了测试兼容性,导致测试的设备也多。如何管理好测试设备,也是有学问的。
很多公司,会买很多测试设备来测试兼容性。有的设备是共享的,有人借走设备没有及时归还。
或者设备需要系统更新升级,淘汰老设备,购置新设备等,都需要有人去管理。怎么能高效的管理设备?
【用数据分析来管理设备】首先我们来认识一个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.41 Android 4.1.26 Android 4.3.01 Android 4.4.41 Android 5.01 Android 5.1.12 Android 6.0.11 Android 7.1.11

一段代码,就可以画成图表:
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爱好部落

    推荐阅读