第一章 数据载入及初步观察

1.1 载入数据
数据集下载 https://www.kaggle.com/c/titanic/overview

import numpy as np
import pandas as pd
tr=pd.read_csv('train.csv')
#使用相对路径载入数据
tr=pd.read_csv('C:\\Users\\22774\\Desktop\\hands-on-data-analysis-master\\第一单元项目集合\\train.csv')
#使用绝对路径载入数据
chunker=pd.read_csv('train.csv',chunksize=1000)
#每1000行为一个数据模块,逐块读取
tr1=pd.read_csv('train.csv',names=['乘客ID','是否幸存','乘客等级(1/2/3等舱位)','乘客姓名','性别','年龄','堂兄弟/妹个数','父母与小孩个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID',header=0)
#增加中文表头,header=0表示去掉原来的表头

1.2 初步观察

 tr1.info()
 #查看数据基本信息
 tr1.head(10)
 tr1.tail(15)
 #查看前10行数据和后15行数据
 tr1.isnull()#检查是否有空数据
 tr1.to_csv('train_chinese.csv')#将带有中文表头的文件保存为新文件
 import numpy as np
 import pandas as pd
 tr=pd.DataFrame(pd.read_csv('train.csv'))
 tr.columns#查看数据的列名称
 data1=tr.loc[:,"Cabin"]
 data2=tr.iloc[:,10]#查看具体某一列数据的两种方法
 te=pd.DataFrame(pd.read_csv('test_1.csv'))
 del te['a']#对比后删除测试集中多余的一列
 te.drop(['a'],axis=1)
 tr.drop(['PassengerId','Name','Age','Ticket'],axis=1)
 #通过drop隐藏某些列或者某些行的数据,对原文件无影响
 tr[10>tr['Age']]#显示年龄在10岁以下的乘客信息
 midage=tr[(10<tr['Age'])&(tr['Age']<50)]
 #midage=tr.query('10'<Age<'50')显示年龄在10岁以上和50岁以下的乘客信息
 midage = midage.reset_index(drop=True)midage.loc[[100],['Pclass','Sex']]midage.loc[[100,105,108],['Pclass','Name','Sex']] midage.iloc[[100,105,108],[2,3,4]]
 #显示数据中第100,105,108行的"Pclass","Name"和"Sex"的数据

iloc和loc的异同
iloc和loc都能读取某行、某列或者是指定行且指定列的数据,也都能进行切片操作但loc是通过行、列的名称或者标签来索引,而iloc是通过索引位置来寻找数据,所以loc的使用会更加灵活。
1.3探索性数据分析

import numpy as np
import pandas as pd
tc=pd.read_csv('train_chinese.csv')
tc.sort_values(by=['票价','年龄'], ascending=False)
#按照票价和年龄降序排列
tc['票价'].describe()

在这里插入图片描述

观察票价这一列数据的基本统计信息,发现票价三位数的票数量很少,大部分船票的票价应该不会超过40。

tc2=tc.sort_values(by=['年龄','性别'],ascending=True)
tc2.head(20)

在这里插入图片描述
船上的小孩经过年龄排序过后可以看到,观察年龄最小的前20名小孩,其中有14人存活了。根据常识,在轮船沉没时会优先照顾妇女和小孩。而且可以看出存活的孩子中二等舱和三等舱占比很大。

tc['年龄'].describe()

在这里插入图片描述

通过观察年龄的基本信息,可以看出乘客大部分集中在20-40岁之间,老人和小孩的数量都比较少。
总结
第一章主要介绍了数据的读取,修改,筛选,排序以及针对数据行和列的各种基本操作。其中,主要是通过对数据的筛选和排序,选择出想要观察的数据,研究这部分数据与结果之间的关系。通过对数据的初步观察,对数据产生初步认识,以便进一步的分析。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值