概述
这一章就是数据分析的核心部分了,因为我们知道数据预处理占到整个数据分析工作的百分之七十左右,总的来说,在这里我们学会了pandas,matplotlib库的基本用法,让我们对数据的分析有了一些基本的方法步骤。下面就让我们一起从数据清洗,数据重构,数据可视化这三个方面看看具体的内容吧。
内容
数据清洗
- 空值:
- isnull()这个函数是判断空值的函数。
- fillna(0)这个函数是填入空值的函数,括号里面是填入的值。
- dropna()这个是删除数据的行。
- 重复值:drop_duplicates()删除重复数据,有重复的数据,用这个运行一下就好了。
- 特征处理:
- 数据分箱:df['AgeBand'] = pd.cut(df['Age'],[0,5,15,30,50,80],labels = [1,2,3,4,5])
- 按百分数分箱df['AgeBand'] = pd.qcut(df['Age'],[0,0.1,0.3,0.5,0.7,0.9],labels = [1,2,3,4,5])
- 文本数据的种类查看:unique()或value_counts()
- 文本数据转化:replace(),map(),使用sklearn.preprocessing的LabelEncoder,one-hot编码
- 文本数据提取:str.extract('([A-Za-z]+).')括号里面是正则表达式
数据重构
- 数据的合并
- concat():左右合并axis=1,上下合并axis=0
- 左右合并还可以用join(),上下合并还可以用append()
- merge()也能合并
- stack()这个函数可以将DataFrame数据转换为Series类型的数据
- 数据的聚合运算
- 数据聚合我们用的是Groupby机制,我们看一张图看看这是一个怎么样的机制
- 具体的应用像这样子:
- text.groupby(['Pclass','Age'])['Fare'].mean()表示统计在不同等级的票中的不同年龄的船票花费的平均值
- text['Fare'].groupby(text['Sex']).mean()表示计算泰坦尼克号男性与女性的平均票价
数据可视化
- 这里我们用到matplotlib库
- plot.bar()画直方图
- plot.kde()画折线图
- plt.title()标题
- plt.ylabel()纵坐标
- plt.xlabel()横坐标
- 一些图
总结
这些东西只能说是一些基础,你能通过这些东西进行简单的数据分析,但是还远远不够。我们要走的路还有很长,加油吧少年。