0
点赞
收藏
分享

微信扫一扫

【数据分析笔记】task01:数据加载及探索性数据分析


本学习笔记为Datewhale-7月组队学习-动手学数据分析的学习内容,学习链接为:https://github.com/datawhalechina/hands-on-data-analysis
pandas使用:

目录

  • 数据载入及初步观察
  • 1.数据加载
  • 导入numpy和pandas
  • 载入数据
  • 使用相对路径载入数据
  • 使用绝对路径载入数据
  • 每1000行为一个数据模块,逐块读取
  • 将表头改成中文,索引改为乘客ID
  • 2.初步观察
  • 查看数据的基本信息
  • 观察表格前10行的数据和后15行的数据
  • 判断数据是否为空,为空的地方返回True,其余地方返回False
  • 3.保存数据
  • Pandas基础
  • 1.数据类型
  • (1)数据类型Series
  • (2)数据类型DateFrame
  • 2.查看数据
  • (1)查看每列的名称
  • (2)查看"Cabin"这列的所有值
  • (3)隐藏列元素
  • 3.删除多余列
  • 4.筛选数据
  • 5.显示特定数据
  • 探索性数据分析
  • 1.排序
  • (1)对示例数据进行排序,要求升序
  • (2)总结其他排序方式
  • (3)对泰坦尼克号数据进行排列
  • 利用Pandas进行算术计算
  • Pandas describe()函数
  • (1)查看数据基本统计信息
  • (2)观察泰坦尼克号数据集的基本统计数据

数据载入及初步观察

1.数据加载

数据集下载:https://www.kaggle.com/c/titanic/overview 数据集来自kaggle上泰坦尼克的任务
这里有两份资料: 教材《Python for Data Analysis》和 baidu.com & google.com

导入numpy和pandas

import numpy as np
import pandas as pd

载入数据

数据格式.csv;.tsv;.xlsx

使用相对路径载入数据

相对路径载入报错时,可以使用os.getcwd()查看当前工作目录

使用绝对路径载入数据

路径是/不是\ 试试pd.read_csv()pd.read_table()的不同,如果想让他们效果一样,需要怎么做?

read_table返回一个DataFrame,是二维的,会像一棋盘那样标识数据

【数据分析笔记】task01:数据加载及探索性数据分析_机器学习


了解一下.tsv.csv的不同,如何加载这两个数据集?

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

什么是逐块读取?为什么要逐块读取呢?

chunker= pd.read_csv('train.csv',chunksize=500)

读取到第500行,要通过for循环才能打印,数据块类型:pandas.io.parsers.TextFileReader,查看pandas数据类型:df.dtypes,用for循环打印出来

【数据分析笔记】task01:数据加载及探索性数据分析_数据分析_02

将表头改成中文,索引改为乘客ID

对于某些英文资料,我们可以通过翻译来更直观的熟悉我们的数据

df = pd.read_csv('./train.csv', names=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID',header=0)
print(df.head)

df = pd.read_csv("train.csv")
df.columns=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口']
print(df.head)

df.columns 列名称

2.初步观察

查看数据的基本信息

数据表基本信息(维度、列名称、数据格式、所占空间等)

print(df.info())

维度查看

df.shape

【数据分析笔记】task01:数据加载及探索性数据分析_数据分析_03


11列 891行类型是int float object

不过我感觉这东西excel打开看一下不就好了,也没必要非用这个搞

观察表格前10行的数据和后15行的数据

print(df.head(10))
print(df.tail(15))

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

print(df.isnull())

.head() 默认前5行数据
只想看前几行可以用print(df.isnull().head()) 【总结】上面的操作都是数据分析中对于数据本身的观察
【思考】对于一个数据,还可以从平均值、方差、标准差、最大最小值观察

df.sum() #返回所有列的求和值
df.mean()#返回所有列的均值
df.corr()#返回列与列之间的相关系数

3.保存数据

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

df.to_csv('train_chinese.csv')

Pandas基础

1.数据类型

pandas中有两个数据类型DateFrame和Series

sdata = {'a': ['one', 'two', 'three', 'four'],'b': [1.0, 2.0, 3.0, 4.0 ],'c': [1, 2, 3, 4,]}

(1)数据类型Series

example_1 = pd.Series(sdata)
print(example_1)

【数据分析笔记】task01:数据加载及探索性数据分析_数据分析_04

(2)数据类型DateFrame

example_2 = pd.DataFrame(sdata)
print(example_2)

【数据分析笔记】task01:数据加载及探索性数据分析_数据挖掘_05


感觉像是列表一样

2.查看数据

(1)查看每列的名称

(2)查看"Cabin"这列的所有值

(3)隐藏列元素

3.删除多余列

4.筛选数据

5.显示特定数据

探索性数据分析

1.排序

(1)对示例数据进行排序,要求升序

(2)总结其他排序方式

(3)对泰坦尼克号数据进行排列

利用Pandas进行算术计算

(1)计算两个DataFrame数据相加结果
(2)计算出在船上最大的家族人数

Pandas describe()函数

(1)查看数据基本统计信息

(2)观察泰坦尼克号数据集的基本统计数据

参考文章1参考文章2


举报

相关推荐

0 条评论