数据分析实例——DataWhale202207(kaggle泰坦尼克任务)

发布时间:2024-03-25 13:01

DataWhale课程地址:datawhalechina/hands-on-data-analysis: 动手学数据分析以项目为主线,知识点孕育其中,通过边学、边做、边引导来得到更好的学习效果 (github.com)

写在前面:DataWhale使用jupyter形式,笔者使用Pycharm使用的代码形式。

数据集下载地址:Titanic - Machine Learning from Disaster | Kaggle

目录

DataWhale课程地址:datawhalechina/hands-on-data-analysis: 动手学数据分析以项目为主线,知识点孕育其中,通过边学、边做、边引导来得到更好的学习效果 (github.com)

写在前面:DataWhale使用jupyter形式,笔者使用Pycharm使用的代码形式。

目录

1.数据加载

1.1数据载入及初步观察

任务一:导入numpy和pandas

任务二:载入数据

任务三:每1000行为一个数据模块,逐块读取

任务四:将表头改成中文,索引改为乘客ID [对于某些英文资料,我们可以通过翻译来更直观的熟悉我们的数据]

任务五:查看数据的基本信息,观察表格前10行的数据和后15行的数据

 任务六:判断数据是否为空,为空的地方返回True,其余地方返回False

任务七:将加载并做出改变的数据,在工作目录下保存为一个新文件train_chinese.csv 

1.2Pandas基础

 任务一:pandas中有两个数据类型DateFrame和Series,通过查找简单了解他们。

任务二:载入"train.csv"文件并进行一些操作

任务三:筛选的逻辑

1.3探索性数据分析

任务一:利用Pandas对示例数据进行排序,要求升序

 任务二:对泰坦尼克号数据(trian.csv)按票价和年龄两列进行综合排序

任务三:利用Pandas进行算术计算,计算两个DataFrame数据相加结果

任务四:通过泰坦尼克号数据如何计算出在船上最大的家族有多少人

 任务五:使用Pandas describe()函数查看数据基本统计信息 

2.数据清洗及特征处理

2.1 缺失值观察与处理

任务一:缺失值观察

任务二:对缺失值进行处理

2.2 重复值观察与处理

任务一:请查看数据中的重复值

判断重复值-duplicated()

任务二:对重复值进行处理

删除重复值-drop_duplicates()

2.3 特征观察与处理

任务一:对年龄进行分箱(离散化)处理

¶​​​​​​参考链接

pd.cut()

任务二:对文本变量进行转换

Pandas.get_dummies Pandas 中的 get_dummies 方法主要用于对类别型特征做 One-Hot 编码(独热编码)。

任务三:从纯文本Name特征里提取出Titles的特征(所谓的Titles就是Mr,Miss,Mrs等)

2.4 数据的合并

任务一:将data文件夹里面的所有数据都载入,与之前的原始数据相比,观察他们的之间的关系

任务二:使用concat方法:将数据train-left-up.csv和train-right-up.csv横向合并为一张表,并保存这张表为result_up

任务三:使用concat方法:将train-left-down和train-right-down横向合并为一张表,并保存这张表为result_down。

pd.concat()函数简介

任务四:使用DataFrame自带的方法join方法和append:完成任务二和任务三的任务

使用Panads的merge方法和DataFrame的append方法:完成任务二和任务三的任务

2.5 换一种角度看数据

2.6 数据运用


1.数据加载

1.1数据载入及初步观察

任务一:导入numpy和pandas

#导入numpy和pandas
import numpy as np
import pandas as pd

安装numpy和pandas:  pip install numpy pandas

 

任务二:载入数据

#载入数据
df = pd.read_csv('train.csv')#已将文件放在工程目录下
#df = pd.read_csv('../train.csv')#绝对路径格式
print(df.head(3))#输出数据的前三行以判断数据是否成功导入

思考:read_csv与read_table 的区别

在这里插入图片描述

 read_csv和read_table都是是加载带分隔符的数据,每一个分隔符作为一个数据的标志,但二者读出来的数据格式还是不一样的:read_table是以制表符 \t 作为数据的标志,也就是以行为单位进行存储,每一字符串为一列而不是每一个字符串;read_csv每一字符串为一列

如果想让他们效果一样,需要怎么做?

# 调用read_table函数读取文件 data = pd.read_table("../data.txt,sep=','")

# 调用read_csv函数读取文件 df = pd.read_csv("../data.txt")


思考:TSV文件与CSV文件的区别与读取/生成

  • TSV与CSV的区别: 1)从名称上即可知道,TSV是用制表符(Tab,'\t')作为字段值的分隔符;CSV是用半角逗号(',')作为字段值的分隔符; 2)IANA规定的标准TSV格式,字段值之中是不允许出现制表符的。
  • Python对TSV文件的支持: Python的csv模块准确的讲应该叫做dsv模块,因为它实际上是支持范式的分隔符分隔值文件(DSV,delimiter-separated values)的。 delimiter参数值默认为半角逗号,即默认将被处理文件视为CSV。 当delimiter='\t'时,被处理文件就是TSV。
  • 参考链接

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号