用数据分析来管理设备
由于现在移动设备厂商多,机型多,为了测试兼容性,导致测试的设备也多。如何管理好测试设备,也是有学问的。很多公司,会买很多测试设备来测试兼容性。有的设备是共享的,有人借走设备没有及时归还。
或者设备需要系统更新升级,淘汰老设备,购置新设备等,都需要有人去管理。怎么能高效的管理设备?
【用数据分析来管理设备】首先我们来认识一个python数据分析的利器:pandas
Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。
pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
pandas很方便的从一个csv,excel文件,或者一个web,一个数据库,捞到这样一张表。
无论是存储在excel,还是存储在数据库,展示在web page上。我们可以通过爬虫等方法,得到一个这样的表。
对pandas来说,就是一个二维的数组。
- 读写csv,excel
pd.to_csv("devices_tablet.csv")
pd.read_csv("devices_tablet.csv")
pd.to_excel()
pd.read_excel()
- 从网页的表中捞数据(前提是网页中需要有表结构)
比爬虫方便多了。
pd.read_html()
- 从数据库中捞数据。
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爱好部落
推荐阅读
- 科股|深陷员工“中毒”漩涡,医用敷料“三剑客”之一奥美医疗已经悄悄掉队
- 左益豪(用代码创造一个新世界|OneFlow U)
- 不锈钢丝网轧花网主要用于什么方面()
- iOS开发用到的系统本地通知名整理
- 科股早知道|钛媒体科股早知道:最长交期达52周,汽车电动化和智能化推动这类芯片量价齐升;或成为巨头最畅销产品,市场份额将在8-9月迎来新高
- 我的大学~连载2
- 汽车出行|常用常新不只是口号,汉家族两周年OTA升级带来六大新功能
- 用 Antlr 重构脚本解释器
- 巧用Prometheus来扩展kubernetes调度器
- 自我释梦