手机已经渐渐进化成了人们身体的一部分,手机电量也就跟着成了大家的声明指数(笑)。你是不是觉得夏天的电池比冬天耐用?为什么容量大的电池还是感觉不够?今天就来用Python告诉你,手机电量藏着的小秘密。(华为ICT学堂大数据学院倾情奉献~ https://www.ictxuetang.com/)
首先,我们需要获取一个数据集,然后使用Python中的数据分析包和可视化工具,对手机电池数据进行基本分析。这个数据集主要包含:电池指定时刻的状态信息(Status),包括电池的健康状态(Health)、电池当前的含电量(Level)、含电量度量方式(Scale):百分数、接入状态(Plugged)、电池容量(Voltage)和电池温度(Temperature)。我们也主要分析这些变量间的关系,话不多说,让我们开始吧。
步骤1:加载包
这里首先是加载数据分析所需要使用的数值计算包和可视化工具包,代码如下:
from mpl_toolkits.mplot3d import Axes3D
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt # plotting
import numpy as np # linear algebra
import os # accessing directory structure
mport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
步骤2:读取数据
for dirname, _, filenames in os.walk('D:\workspace\online\phone-battery'):
for filename in filenames:
print(os.path.join(dirname, filename))
输出如下结果:
步骤3:定义数据分布函数
定义数据分布函数,主要用于查看各属性的数据分布,了解各属性的取值特征,并通过直方图实现可视化展示。这样我们可以清楚数据集里的各个值的情况,以确定分析思路和确认数据集是否需要清除冗余字段等操作。
# Distribution graphs (histogram/bar graph) of column data
def plotPerColumnDistribution(df, nGraphShown, nGraphPerRow):
nunique = df.nunique()
df = df[[col for col in df if nunique[col] > 1 and nunique[col] < 50]] # For displaying purposes, pick columns that have b