数据加载及探索性数据分析
数据及背景:
从Kaggle泰坦尼克号项目页面下载数据:https://www.kaggle.com/c/titanic
在这次项目中,先在Kaggle上下载所需要的训练数据集和测试数据集,通过训练数据集分析什么类型的人能在这场灾难中生存下来,建立机器学习的模型,再使用这个模型预测测试数据集中所有人的生存情况。
本次项目属于一个典型的二分分类问题,可以采用逻辑回归的方法建立机器学习模型。
数据加载
有两种方法:pd.read_csv(),pd.read_table()
pd.read_csv():读取以‘,’分割的文件到DataFrame,用于读取csv文件(csv用逗号符分隔字符段)
pd.read_table():读取以‘\t’分割的文件到DataFrame,用于读取tsv文件(tsv用制表符分隔字符段)
实质上两个方法都是通用的,函数中参数sep可以选定分隔符的类型
- 导入numpy、pandas和matplotlib
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
- 载入数据
data_path = 'C:/Users/87569/Desktop/Titanic/' #设置数据集路径
train_data = pd.read_csv(data_path + 'train.csv',delimiter = ',')
test_data = pd.read_csv(data_path + 'test.csv',delimiter = ',')
-
简略观察数据情况
对应的数据名称
train_data.info()
info()熟悉数据类型
通过info()来了解数据每列的type,有助于了解是否存在除了nan以外的特殊符号异常。也能观察到数据的shape,例如图中可以看见数据为891行,12列。train_data.sample(10) #随机抽取10行数据展示
train_data.describe()
describe()熟悉相关统计量
describe()中包含每列的统计量,个数(count)、平均值(mean)、方差(std)、最小值(min)、中位数(25% 50% 75%)、最大值(max)等。通过观察以上指标,可以瞬间掌握数据的大概范围和每个值的异常值的判断 。
分块读取
chunker = pd.read_csv('train.csv', chunksize=10) #逐块读取
read_csv()中有参数chunksize可以逐块读取数据,chunksize=10时就是每10