之前关于数据分析的学习是用到什么查阅什么,没有系统的学习过,最近通过这个机会,再复习下关于之前学过的数据分析的一些知识,并完善一些数据分析的方法.最近一系列的数据分析的内容来源于DataWhale开源.涉及到的数据集等可从github(https://github.com/datawhalechina/hands-on-data-analysis)上获取到.

该文档简单记录了每个小节学习了什么知识点,详细内容整理在了各个标题的链接上面(就是对开源文档进行了填空并记录了一些自己的小测试)

动手学数据分析_第一章:第一节:数据载入及初步观察

  • 本节涉及的知识
  1. 加载数据时 各级目录间是 / 或者 \\
  2. 可以通过os.getcwd()获取到该文件所在的绝对路径地址
  3. 加载数据时,可以通过 chunksize= 条件来逐块读取数据,也可以通过 nrows= 条件来读取数据的前多少行
  4. 加载csv数据默认是以’,‘分隔,加载tsv数据默认是’\t’分隔,可通过sep=’,'改变加载数据时的分隔方式
  5. 加载数据时,若数据中不含有列名那一行,要添加header=None条件,不然会将第一行数据作为列名
  6. 加载数据时,通过index_col=条件可以设置行索引,可以通过name=[]来设置行索引,通过header=0设置读取数据是不读取第一行数据
  7. 数据的观察 ; df.info() df.shape df.describe()等
  8. 数据的保存 : df.to_csv(“数据表名称”)

[思考1]:知道数据加载的方法后,试试pd.read_csv()和pd.read_table()的不同,如果想让他们效果一样,需要怎么做?了解一下’.tsv’和’.csv’的不同,如何加载这两个数据集?

  • csv() 是以’,'进行分割的数据格式
  • table是以’\t’分割的数据格式
  • 在pd.read_table()中直接读取train_csv如下:
  • 如果想要显示和pd.read_csv()一样的结果,加上参数sep=’,‘即可,因为默认是’\t’

[思考2]: 什么是逐块读取?为什么要逐块读取呢?

  • 逐块读取应该就是没获取到一个chunksize大小的数据后,就先将这部分数据读取到,如果数据没有读取完成,下次还是读取chunksize大小的数据
  • 在数据过大的情况下,直接读取完整的数据,可能会因为内存不够无法完成读取,听过分块读取的方式可以使数据量很大的数据也能成功加载到.
  • 只想读取一部分数据时,可以设置nrows=* 来完成前nrows行数据的读取

[思考3]:所谓将表头改为中文其中一个思路是:将英文列名表头替换成中文。还有其他的方法吗?

  1. 课程的方法是在加载数据的时候,直接修改列名
df = pd.read_csv('train.csv', names=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID')
  1. 还可以在加载数据完成后修改列名
  2. 数据分析实训报告内容与过程 数据分析实验总结_加载数据

  3. 还可以通过 df.rename(columns={‘原列名’:‘新列名’},inplace=True)的方式修改某个列或多个列的列名
  4. 数据分析实训报告内容与过程 数据分析实验总结_数据分析实训报告内容与过程_02

动手学数据分析_第一章:第二节:Pandas基础

  • 本节涉及的知识点 1.如何定义DataFrame和Series 2.查看列、删除列 3.对某一列的数据进行筛选 4.loc和iloc

5.详情看目录

思考:对比iloc和loc的异同

  • loc 是按照索引的值进行筛选
  • iloc 是按照索引的下标进行筛选
  • 此外 在筛选的时候,可以进行如下筛选方式

动手学数据分析_第一章:第三节:探索性数据分析

  • 本节涉及的知识点 本节知识点主要是对数据进行不同的操作来分析数据,得到一些结论,用于支撑自己的分析是否合理,没再进行单独的整理,详情见上面链接.

动手学数据分析_第二章:第一节:数据清洗及特征处理

动手学数据分析_第二章:第二节:数据重构