Pandas笔记第二课堂学习upup

这门课程得主要目的是通过真实的数据,以实战的方式了解数据分析的流程和熟悉数据分析python的基本操作。知道了课程的目的之后,我们接下来我们要正式的开始数据分析的实战教学,完成kaggle上泰坦尼克的任务,实战数据分析全流程。 这里有两份资料需要大家准备: 图书《Python for Data Analysis》第六章和 baidu.com & bing.com(善用搜索引擎)

[26]:

df.tail(15)

[26]:

是否幸存仓位等级姓名性别年龄兄弟姐妹个数父母子女个数船票信息票价客舱登船港口
乘客ID
87703Gustafsson, Mr. Alfred Ossianmale20.00075349.8458NaNS
87803Petroff, Mr. Nedeliomale19.0003492127.8958NaNS
87903Laleff, Mr. KristomaleNaN003492177.8958NaNS
88011Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)female56.0011176783.1583C50C
88112Shelley, Mrs. William (Imanita Parrish Hall)female25.00123043326.0000NaNS
88203Markun, Mr. Johannmale33.0003492577.8958NaNS
88303Dahlberg, Miss. Gerda Ulrikafemale22.000755210.5167NaNS
88402Banfield, Mr. Frederick Jamesmale28.000C.A./SOTON 3406810.5000NaNS
88503Sutehall, Mr. Henry Jrmale25.000SOTON/OQ 3920767.0500NaNS
88603Rice, Mrs. William (Margaret Norton)female39.00538265229.1250NaNQ
88702Montvila, Rev. Juozasmale27.00021153613.0000NaNS
88811Graham, Miss. Margaret Edithfemale19.00011205330.0000B42S
88903Johnston, Miss. Catherine Helen "Carrie"femaleNaN12W./C. 660723.4500NaNS
89011Behr, Mr. Karl Howellmale26.00011136930.0000C148C
89103Dooley, Mr. Patrickmale32.0003703767.7500NaNQ
1.2.4 任务三:判断数据是否为空,为空的地方返回True,其余地方返回False

[27]:

df.isnull().head(5)

[27]:

是否幸存仓位等级姓名性别年龄兄弟姐妹个数父母子女个数船票信息票价客舱登船港口
乘客ID
1FalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse
2FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
3FalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse
4FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
5FalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse

【总结】上面的操作都是数据分析中对于数据本身的观察

【思考】对于一个数据,还可以从哪些方面来观察?找找答案,这个将对下面的数据分析有很大的帮助

1.3 保存数据

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

[28]:

# 注意:不同的操作系统保存下来可能会有乱码。大家可以加入`encoding='GBK' 或者 ’encoding = ’utf-8‘‘`

df.to_csv('train_chinese.csv')

【总结】数据的加载以及入门,接下来就要接触数据本身的运算,我们将主要掌握numpy和pandas在工作和项目场景的运用。

第一章:pandas基础

【思考】这个reset_index()函数的作用是什么?如果不用这个函数,下面的任务会出现什么情况?

[29]:

#作用:重置索引时,将旧索引添加为列,并使用新的顺序索引

#reset_index()主要用于重置索引,在获得新的index,原来的index变成数据列,保留在数据框中,不想保留原来的index的话可以使用参数drop=True,默认False。

1.5.4 任务四:使用loc方法将midage的数据中第100,105,108行的"Pclass","Name"和"Sex"的数据显示出来

[30]:

midage.loc[[100,105,108],["Pclass","Sex","Name"]]

[30]:

PclassSexName
1003femalePetranec, Miss. Matilda
1053maleMionoff, Mr. Stoytcho
1083maleRekic, Mr. Tido
1.5.5 任务五:使用iloc方法将midage的数据中第100,105,108行的"Pclass","Name"和"Sex"的数据显示出来

[31]:

midage.iloc[[100,105,108],[2,3,4]]

[31]:

PclassNameSex
1492Byles, Rev. Thomas Roussel Davidsmale
1603Cribb, Mr. John Hatfieldmale
1633Calic, Mr. Jovomale

【思考】对比ilocloc的异同

[32]:

复习:在前面我们已经学习了Pandas基础,知道利用Pandas读取csv数据的增删查改,今天我们要学习的就是探索性数据分析,主要介绍如何利用Pandas进行排序、算术计算以及计算描述函数describe()的使用。

1.6.6 任务六:分别看看泰坦尼克号数据集中 票价、父母子女 这列数据的基本统计数据,你能发现什么?

[16]:

'''

看看泰坦尼克号数据集中 票价 这列数据的基本统计数据

'''

text["票价"].describe()

[16]:

count    891.000000
mean      32.204208
std       49.693429
min        0.000000
25%        7.910400
50%       14.454200
75%       31.000000
max      512.329200
Name: 票价, dtype: float64

【思考】从上面数据我们可以看出, 一共有891个票价数据, 平均值约为:32.20, 标准差约为49.69,说明票价波动特别大, 25%的人的票价是低于7.91的,50%的人的票价低于14.45,75%的人的票价低于31.00, 票价最大值约为512.33,最小值为0。
当然,这只是我的想法,你还可以有更多想法,欢迎写在你的学习笔记中。

[17]:

'''

通过上面的例子,我们再看看泰坦尼克号数据集中 父母子女个数 这列数据的基本统计数据,然后可以说出你的想法

'''

text["父母子女个数"].describe()

[17]:

count    891.000000
mean       0.381594
std        0.806057
min        0.000000
25%        0.000000
50%        0.000000
75%        0.000000
max        6.000000
Name: 父母子女个数, dtype: float64

【思考】有更多想法,欢迎写在你的学习笔记中。

【总结】本节中我们通过Pandas的一些内置函数对数据进行了初步统计查看,这个过程最重要的不是大家得掌握这些函数,而是看懂从这些函数出来的数据,构建自己的数据分析思维,这也是第一章最重要的点,希望大家学完第一章能对数据有个基本认识,了解自己在做什么,为什么这么做,后面的章节我们将开始对数据进行清洗,进一步分析。

导入库
import pandas as pd

import numpy as py

路径
相对路径 "文件名"

绝对路径 "具体的位置"

琐碎
chunker 数据块

frame = pd.DataFrame() 创建一个DataFrame对象

frame.sort_values(by= ["要排列的列",,……],ascending=排序的方式 True升序或False降序)

frame.sort_index() 行索引升序排序

frame.sort_index(axis=1)  列索引升序排序

frame.describe()可以描述数据大小,平均值,标准差,最小值,25%的时候的值,50%的时候的值,75%的时候的值,最大值。

df = pd.read(路径)

df.info() 检查数据类型,大小

df.head() 显示前几行数据

df.tail() 显示后几行数据

df.columns 查看每列名称

df["列名","列名"……]查看这几列所有值

df.列名 查看这一列所有值

del df["列名"] 删除这一列

df.drop(["列名","列名"……],axis=1) 隐藏这几列

df.isnull()判断数据是否为空,是返回True,反之False

df.to_csv("新路径")保存数据

加入encoding='GBK'  或者encoding = ’utf-8',解决乱码问题

  • 28
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值