做实验第一步搭环境
创建这个环境 我用的是conda create -n panda python=3.7 numpy=1.18.1 pandas=1.0.3 matplotlib=3.1.3 scipy=1.4.1 xlrd=1.2.0 openpyxl=3.0.3
代码片段1 csv文件里面存的就是数据,内容如下:
csv文件的内容 可以看到csv中第一行就是表的表头,不管是表头还是非表头 内容都是每行的表项都是以逗号分隔,两个逗号之间如果没有内容,那么在pandas里面显示的就是NaN
df.head 就是将表df显示出来 默认是显示5行
代码片段2
df['Physics']就是把表中Physics的这一列给取出来,那么df 和 df['Physics']是一样的东西吗? 不是
df与df physics的区别 df是DataFrame 而df['Physics'] 是Series
代码片段2就是把Physics这一列给单列出来,.isna()就是将这一列中非NaN的项变为False NaN的项变为True,sum就是统计这列中True的个数 也就是原表中NaN的个数
看到第二列只有一个True 却返回的是4,原因是head只显示5行如果想显示表中的所有内容,那么就直接打df 而非df.head()
用df.info()也可以看出缺失信息
info函数
35行 31non-null object 说明缺35 - 31 == 4 行
剩下的教程在网站上,网站写的很详细,剩下的就看网站上的
https://nbviewer.jupyter.org/github/GYHHAHA/Joyful-Pandas/blob/master/%E7%AC%AC6%E7%AB%A0%20%E7%BC%BA%E5%A4%B1%E6%95%B0%E6%8D%AE.ipynb#%E4%BD%86%E5%AF%B9%E4%BA%8EDataFrame%E6%88%91%E4%BB%AC%E6%9B%B4%E5%85%B3%E5%BF%83%E5%88%B0%E5%BA%95%E6%AF%8F%E5%88%97%E6%9C%89%E5%A4%9A%E5%B0%91%E7%BC%BA%E5%A4%B1%E5%80%BC
关于后面的作业:
问题1:如何删除缺失值占比超过25%的列?
回答:df.dropna(axis=1,thresh=df.shape[0]*(1-0.25))
问题2: 什么是Nullable类型?请谈谈为什么要引入这个设计?
回答:就是缺值,引入Nullable就是想统一三种缺值
问题3: 对于一份有缺失值的数据,可以采取哪些策略或方法深化对它的了解?
回答:了解缺的数目,然后进行操作
网友评论