动手学数据分析第一章总结

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

  1. 第一节  数据的加载以及入门

1.1载入数据

  1. os.getcwd()可查看文件的位置:C:\Users\.....
  2. 载入数据可用相对路径和绝对路径

数据载入使用pd.read_csv(‘路径’),因为这个是.csv文件

相对路径载入:

绝对路径载入:

 

可用encoding=’utf-8’避免乱码;斜杠的方式可用‘/’和‘\’,但使用‘\‘时需要用r。

  1. 每1000行为一个数据模块,逐块读取

 

使用pandas处理文件时,经常会遇到大文件,有时我们只需要使用其中一 部分,这时可用逐块读取

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

        header = 0 是覆盖原来的标题

1.2:初步观察

  1. 查看数据的基本信息

方式1.

train.info()

 

方式2:

train.describe()

 

  1. 观察表格前10行和后15行的数据
train.head(10)

train.tail(15)
  1. 判断数据是否为空,为空的地方返回True,否则返回False
train.isnull()

train.isnull().sum()可以计数空的个数

1.3保存数据

  1. train.to_csv(‘希望保存的文件名’,encoding=’utf-8’)
  1. 第二节 pandas基础

1.4 知道你的数据叫什么

  1. pandas中有两个数据类型DataFrame和Series,通过查找简单了解他们并自己动手写一个例子
text = {‘ct’:1.63,’fr’:1.75,’rd’:1.72}

pandas.Series(text)

 

text = {‘red’:[1,2,3],’black’:[3,4,5],’green’:[2,3,4]}

pandas.DataFrame(text)

 

  1. 查看DataFrame数据每列的名称
train.columns

 

  1. 查看cabin这一列的所有值

train.cabin或者train[‘cabin’]

 

  1. 删除多余的列

del train[‘a’]       //删除a列

  1. 将‘passenger’,’name’元素隐藏

train.drop(‘passenger’,’name’,axis=1)

1.5 删选的逻辑

1. 以’age’为删选条件,删选年龄在10岁以下的乘客

train[train[‘age’]<10]
  1. 以’age’为删选条件,删选年龄在10岁以上,50岁以下的乘客
    train[train[‘age’]>10 & train[‘age’]<50]
  2. 显示train的第100行中’place’和’sex’数据
train.loc([100],[’place’,’sex’])

 

  1. 使用loc方法将train的第100,105,108行的’place’,’name’,’sex’显示出来
    train.loc([100,105,108],[’place’,’name’,’sex’])
  2. 使用iloc方法将train的第100,105,108行的’place’,’name’,’sex’显示出来
train.iloc([100,105,108],[2,3,4])

使用iloc方法时须使用列的位置(从0开始),而loc方法直接用列的名称

  1. 第三节 探索性数据分析
  1. 利用pandas对示例数据数据进行排序

使DataFrame里的某一列进行排序,要求升序排序;若想要降序则ascending=False。

frame.sort_values(by=’c’,ascending=True)

让行索引升序排序,ascending默认为True

frame.sort_index()

让列索引升序排序

frame.sort_index(axis=1)

任选两列数据同时降序排序

frame.sort_values(by=[‘a’,’b’],ascending=False)

  1. 对泰坦尼克号的票价和年龄两列进行综合排序(降序排列),冲这个数据中你可以分析出什么?

train.sort_values(by=[’票价’,’年龄’],ascending=False)

发现排名前20个乘客中有14个幸存,比例较大,说明这两者和是否幸存有关

对年龄进行单独分析:

train.sort_values(by=’年龄’,ascending=True)

升序排序时发现排名前20个年龄最小的乘客有14个幸存

train.sort_values(by=’年龄’,ascending=False)

降序排序时发现排名前20个年龄最大的乘客有5个幸存

说明年龄与是否存活有关,年龄越小,存活率越大;年龄越大,存活率越小。

对票价进行单独分析:

train.sort_values(by=’票价’,ascending=True)

升序排序时发现排名前20名票价最低的乘客只有一个存活

train.sort_values(by=’票价’,ascending=False)

降序排序时发现排名前20名票价最高的乘客有14个存活

说明票价与存活率有关,票价越高的乘客存活率越大,票价越低的乘客存活率越小。

  1. 利用pandas进行算术运算,计算两个DataFrame相加的结果

 

 

frame_1+frame_2

 

【提醒】两个DataFrame相加后,会返回一个新的DataFrame,对应的行和列的值会相加,没有对应的会变成空值NAN。当然,DataFrame还有很多算术运算,如减法,除法等,有兴趣的同学可以看《利用PYTHON进行数据分析》第五章 算术运算与数据对齐部分,多在网络上查找相关学习资料。

  1. 通过泰坦尼克号数据计算出船上最大的家族有多少人(父母小孩+兄弟姐妹)

max(train[堂兄弟/妹个数]+train[父母与小孩个数]

  1. 通过describe查看票价这一列的基本信息

train[票价].describe()

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值