数据分析之数据预处理和可视化

239 阅读2分钟

概述

这一章就是数据分析的核心部分了,因为我们知道数据预处理占到整个数据分析工作的百分之七十左右,总的来说,在这里我们学会了pandas,matplotlib库的基本用法,让我们对数据的分析有了一些基本的方法步骤。下面就让我们一起从数据清洗,数据重构,数据可视化这三个方面看看具体的内容吧。

内容

数据清洗

  • 空值
    • isnull()这个函数是判断空值的函数。
    • fillna(0)这个函数是填入空值的函数,括号里面是填入的值。
    • dropna()这个是删除数据的行。
  • 重复值:drop_duplicates()删除重复数据,有重复的数据,用这个运行一下就好了。
  • 特征处理
    • image.png
    • 数据分箱: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机制,我们看一张图看看这是一个怎么样的机制

image.png

  • 具体的应用像这样子:
    • text.groupby(['Pclass','Age'])['Fare'].mean()表示统计在不同等级的票中的不同年龄的船票花费的平均值
    • text['Fare'].groupby(text['Sex']).mean()表示计算泰坦尼克号男性与女性的平均票价

数据可视化

  • 这里我们用到matplotlib库
    • plot.bar()画直方图
    • plot.kde()画折线图
    • plt.title()标题
    • plt.ylabel()纵坐标
    • plt.xlabel()横坐标
  • 一些图

image.png

image.png

image.png

总结

这些东西只能说是一些基础,你能通过这些东西进行简单的数据分析,但是还远远不够。我们要走的路还有很长,加油吧少年。

代码存放处:HeteroCat-blog/hands-on-data-analysis at main · HeteroCat/HeteroCat-blog (github.com)