- 找一个csv文件,也就是可以通过excel打开的那种。我是从mysql中,把一个表导出成了csv,是学生成绩表。
- 在spyder中的console命令行下输入
import pandas as pd g_18 = pd.read_csv('Desktop/studentGradeCsv/grade-18-Apr.csv', index_col = "No")
表示No为index,并导入改成绩csv文件。 - 在console的下输入你刚刚新建变量的名字,我这里取的是g_18。回车后会显示这个csv文件的内容
- 看到省略号觉得不爽,而且我的csv文件很尴尬的有十多列。我希望能看见中间被隐藏的列。
于是运行py文件如下,
import numpy as np
import pandas as pd
pd.set_option('display.max_columns',1000)
pd.set_option('display.width', 1000)
pd.set_option('display.max_colwidth',1000)
#Jeg elsker dig
运行该文件后,(该代码是复制到spyderIDE中的左边)在console下显示数据的量会扩大。
而运行该文件,直接点击绿色的运行。
5. 再次查看名为g_18 这个dataframe的信息。
可以看到中间的列没有再被折叠
6. 在console中输入g_18.info()
指令,可以查看该dataframe的信息。
30条,14个属性
7. 检查数据中是否有重复记录,duplicated方法可以检查series或dataframe对象的重复记录问题。
我这里的成绩表没有重复记录。
8. 查看数据的基本统计信息。
mean均值 中位数50%
9. 检查某门课程(某列)的成绩信息。 使用value_counts方法
10. 饼图
g_18.ProgrammingC.value_counts().plot(kind='pie', autopct='%.2f')
11. 皮尔逊相关系数
g_18.corr().ProgrammingC
这里查看的是列programmingC课程 与 其他课程之间的关系。
LinearAlgebra与programmingC的相关度最高 正线性相关
- 图像查看相关性
import seaborn as sns
sns.barplot(x='ProgrammingC', y='LinearAlgebra', data=g_18)
输出
分析输出:
查看programmingC为99的列,最右,说明C语言99的人 线性代数课程成绩为大概92,
因为只有一个这样的记录,所以99这个列没有灰色的小竖条。
查看programmingC为95的列,bar的高度为:c语言95的这部分人对应线性代数课程的均分。而灰色的小竖条为线性代数成绩的区间。
get
而且可以很明显的看到programmingC的值越高,LinearAlgebra的值越高。与相关系数判断一致。
12. 密度图:
与直方图相关的一种类型图,是通过计算“可能会产生观测数据的连续概率分布的估计”而产生的,通过给plot传入参数kind = ‘kde’ 即可
g_18.ProgrammingC.plot(kind='kde')