TA的每日心情 | 擦汗 3 天前 |
---|
签到天数: 1042 天 连续签到: 4 天 [LV.10]测试总司令
|
前言
前三期我们学习了大数据分析的概念,工具以及如果利用这些数据产生漂亮的图形;会不会有一些跃跃欲试的感觉:我辛辛苦苦学习了这么多的枯燥的基础知识,我可不可以找一些公司的正式的测试数据,来练练手?是不是可以对于公司产生一些不一样的价值?
我这次给大家放大招,给出两个真实的范例,看我们学习了这三期到底可以产生什么惊人的价值,第一个实战是我们拿到天线自动化测试的数据测试 即测试3个小时的report:共有3838个数据。我们拿到这么多的数据,如何通过这些数据获得不一样的测试结论?
第二个实战是5G测试数据,我们如何分析这些这些测试数据,给老板一个既专业又图文并茂的测试结论呢
让我们赶紧进入实战之旅吧!
实战范例之一:天线测试数据分析
数据整理
将value按照x轴 y轴 以及sector按照层次分别列出;并计算出value的平均数和总数
- import pandas as pd
- import numpy as np
- import plotly.graph_objects as go
- excel_data = pd.read_csv('11adtoolsingle.csv')
- result_test = excel_data.pivot_table(values="Value",index=["X-axis","Y-axis","sector"],aggfunc=[np.sum,np.mean])
- result_test.head(20)
复制代码
运行结果如下图
计算将value按照x轴 y轴分别罗列后,计算所有sector的平均值
- import pandas as pd
- import plotly.graph_objects as go
- excel_data = pd.pd.read_csv('11adtoolsingle.csv')
- result_test =excel_data.groupby(['X-axis','Y-axis'])['Value'].mean()
- result_test
复制代码
运行结果如下:
- X-axis Y-axis
- -40 10 -50.424603
- -39 10 -50.371553
- -38 10 -49.581362
- -37 10 -48.765840
- -36 10 -46.163199
- -35 10 -46.299201
- -34 10 -46.773487
- -33 10 -47.197108
- -32 10 -47.969916
- -31 10 -48.574481
- -30 10 -49.738138
- -29 10 -50.811379
- -28 10 -50.846868
- -27 10 -51.398935
- -26 10 -51.578865
- -25 10 -51.576730
- Name: Value, dtype: float64
复制代码 加入测试两个Wlan,则将两个Wlan的数值分别整理
- import pandas as pd
- import numpy as np
- import plotly.graph_objects as go
- excel_data = pd.read_excel('data.xlsx',sheet_name='Sheet2')
- excel_data.head(5)
- result_test = excel_data.pivot_table(index=["X-axis","Y-axis","Sector"],columns = ["Wlan"],values="Value",aggfunc=[np.sum,np.mean])
- result_test.head(20)
复制代码 运算结果如下图
以什么类型排序显示整理的数据
将value从小到大进行排序,并显示top 10
- import pandas as pd
- import numpy as np
- import plotly.graph_objects as go
- excel_data = pd.read_csv('11adtoolsingle.csv')
- result_test = excel_data.pivot_table(index = ["X-axis","Y-axis","Sector"],values="Value",aggfunc="mean").reset_index().sort_values(by = "Value",ascending =False).head(10)
- result_test
复制代码 运行结果如下
数据清理
确认数据基本信息
- import pandas as pd
- import plotly.graph_objects as go
- excel_data = pd.read_csv('11adtoolsingle.csv')
- excel_data.info()
复制代码 运行结果如下
就可以看出一共有3838组数据,有8个栏位,其实从这里就可以看出8个栏位都是非空的;每个栏位的type也都能了解。
- <class 'pandas.core.frame.DataFrame'>
- RangeIndex: 3838 entries, 0 to 3837
- Data columns (total 8 columns):
- Wlan 3838 non-null object
- X-axis 3838 non-null int64
- Y-axis 3838 non-null int64
- Channel 3838 non-null object
- Sector 3838 non-null int64
- Sector Gain 3838 non-null int64
- Value 3838 non-null float64
- Test Report ID 3838 non-null int64
- dtypes: float64(1), int64(5), object(2)
- memory usage: 240.0+ KB
复制代码 确认数据是否非空
如果不放心,还可以用另外的函数确认是否有non-null
- import pandas as pd
- import plotly.graph_objects as go
- excel_data = pd.read_csv('11adtoolsingle.csv')
- excel_data.isna().sum()
复制代码 运行结果如下
- Wlan 0
- X-axis 0
- Y-axis 0
- Channel 0
- Sector 0
- Sector Gain 0
- Value 0
- Test Report ID 0
- dtype: int64
复制代码 确认数据是否不重复
- import pandas as pd
- import plotly.graph_objects as go
- excel_data = pd.read_csv('11adtoolsingle.csv')
- excel_data.duplicated().sum()
复制代码 运行结果如下
数据清理分析结论
既没有空的数据,也没有空白的数据。
叙述统计分析
数据描述分析
- import pandas as pd
- import plotly.graph_objects as go
- excel_data = pd.read_csv('11adtoolsignle.csv')
- excel_data.describe().T
复制代码 运行结果如下图
我们的测试结果即output是Value,其它的参数都是input或者index,所以我们需要重点关注Value
主要看它的平均数以及最大值,最小值,以及25% 50% 75%是否相差太大
|
|