工作后,没有额外的精力去全面学习,所以从实际的业务需求出发,熟悉函数功能。
下面是有关pandas 中 melt 函数的 介绍 ——即将 “宽”数据变成 “窄”数据
截图如下:
感想 :之前很多文档有些难理解,现在主动的做一个数据分析,发现理解就很轻松了。
先导包
import pandas as pd ——数据分析必备
import matplotlib.pyplot as plt —— 画图必备
import seaborn as sns ——画图必备 (这次主要呈现 这个包的功能介绍) http://seaborn.pydata.org/index.html 官方文档
seaborn它可以画很多图,而要画出这些图,需要特定的数据结构,melt函数恰好就是可以构造这样子的形式。
导入数据
test =pd.read_excel(r"C:\Users\ling\Desktop\2.xlsx",encoding = "utf-8")
进行数据的标准化处理 (实际工作中,并不是所有字段都要进行标准化,所以下面这个技能很受用——将所要转化的字段单独进行处理)
for i in ['语文', '数学', '成绩总分', '突击学习成绩', '类同分数', '词汇分数', '推理总分', '智力总分']:
test[i+"标准分"] = (test[i] - np.min(test[i])) / (np.max(test[i]) - np.min(test[i]))
构建新的数据表
test = test[['姓名', '性别', '考号', '学校', '省份', '城市', '语文标准分', '数学标准分', '成绩总分标准分',
'突击学习成绩标准分', '类同分数标准分', '词汇分数标准分', '推理总分标准分', '智力总分标准分']]
采用melt函数进行 数据的 宽变长
可以看到 ,id_vars是没有变化的 字段,而其余的字段列均变成了 一列中的值(这里用var_name字段进行保存),而这些字段中的值,用value_name 字段进行了保存。
变成这样的数据结构后,配合seaborn可视化的包,表现非常的完美。
这样子就可以查看 ,不同测验维度上的四分位图了。