用Python做数据分析
工具
Python
基础
大家使用Pyhton的原因:因为Pyhton有很多库,比如Numpy、Pandas、SciPy、Matplotlib等。
1. Numpy
Numpy主要针对数组数据的一些相关处理。如果想要了解全面的numpy用法,可以在交互环境中输入help(numpy)。或者查看官网的文档。
地址如下:(https://docs.scipy.org/doc/numpy/user/quickstart.html)
2.Pandas
Pandas则比较高级,可以处理Series、DataFrame等高级数据结构和工具。
3.Matplotlib
Matplotlib主要用来绘制数据图表,它可以提供各类图形的绘制。
我的学习
在这两个星期的学习中我学习了如何预处理数据及pandas自定义函数。大概了解了基本的用法。在网上搜索了实例并学习。
下面是例子:实例来源于 https://baijiahao.baidu.com/s?id=1617994436988888396&wfr=spider&for=pc
pandas数据预处理
‘PassengerId’:乘客id
‘Survived’:生存情况,离散变量,0,1
‘Pclass’:船舱等级,1,2,3三个
‘Name’:乘客姓名
‘Sex’:乘客性别,male,famale
‘Age’:乘客年龄
‘SibSp’,兄弟姐妹数量
‘Parch’,携童及老人数量
‘Ticket’:船票编号
‘Fare’:船票价格
‘Cabin’,:船舱编号
‘Embarked’:登船码头
1、对数据进行排序df.sort_values()
#读取数据
titanic_survival=pd.read_csv(r"C:Userspythonwandata_minepython_pandas itanic_train.csv")#用sort_values()函数对指定列排序,默认升序排序,inplace=True表示在原来的df上排序titanic_survival.sort_values((“Age”),inplace=True)
2、缺失值判断及统计pandas.isnull()、pandas.isnull().any()
首先从全局看看哪些列有空值,使用pd.isnull.any()这个函数进行判断
#pd.isnull(titanic_survival).any()这种写法与直接对DF判断效果一样titanic_survival.isnull().any()
从上面的结果中我们知道,age、cabin、embarked这三列有空值,那么进一步查看age列空值个数,进行空值统计。
空值统计方法一:df.isnull().sum():
#当不指定具体列时,统计整个df的缺失值个数titanic_survival[‘Age’].isnull().sum()
3、缺失值处理
处理缺失值可以分为两类:删除缺失值和缺失值插补。
而缺失值插补又分为以下几种:
- 均值/中位数/众数插补
- 使用固定值(将缺失值的属性用一个常量代替)
- 最近邻插补(在记录中找到与缺失值样本最接近的样本的该属性插补)
- 回归方法(对带有缺失值的变量,根据已有数据和与其有关的其他变量建立拟合模型来预测缺失值)
- 插值法(利用已知点建立合适的插值函数f(x),未知值由对应点xi求出来近似代替)
pandas缺失值删除的操作
1)df.dropna(),舍弃含有任意缺失值的行
2)df.dropna()函数删除某个列中含有空值的行
pandas自定义函数
之前我们已经计算了某一列中含有空值的数量,如果我要列出该表每一列中究竟有多少个空值呢,就可以使用apply(function)函数,该函数会将自定义的function函数应用在每一列中,并且把运行的结果保存在一个新的Series中,如下
: