学习目录
- 第二章
- 第一节 数据载入及初步观察
- 第二节 pandas基础
-
- 1.4 知道你的数据叫什么
-
- 1.4.1 任务一:pandas中有两个数据类型DateFrame和Series,通过查找简单了解他们。然后自己写一个关于这两个数据类型的小例子🌰[开放题]
- 1.4.2 任务二:根据上节课的方法载入"train.csv"文件
- 1.4.3 任务三:查看DataFrame数据的每列的名称
- 1.4.4任务四:查看"Cabin"这列的所有值 [有多种方法]
- 1.4.5 任务五:加载文件"test_1.csv",然后对比"train.csv",看看有哪些多出的列,然后将多出的列删除
- 1.4.6 任务六: 将['PassengerId','Name','Age','Ticket']这几个列元素隐藏,只观察其他几个列元素
- 1.5 筛选的逻辑
- 第三节 探索性数据分析
- 【总结】
第二章
第一节 数据载入及初步观察
1.1 载入数据
1.1.1 任务一:导入numpy和pandas
import numpy as np
import pandas as pd
1.1.2 任务二:载入数据
(1) 使用相对路径载入数据
#导入相对路径数据
df=pd.read_csv('train.csv')
(2) 使用绝对路径载入数据
#绝对路径导入数据
path=os.path.abspath('train.csv')
df = pd.read_csv(path)
扩展
(1)显示表格行列数
#行列数
df.shape
(2)转置表格
#转置
df.T
转置前
转置后
(3)read_table默认无分隔
#无分隔数据
pd.read_table(path)
read_csv默认用逗号分隔,table用逗号分隔需设置参数
#以逗号为分割符
pd.read_table(path,sep=',')
1.1.3 任务三:每10行为一个数据模块,逐块读取
#逐块读取
df = pd.read_csv('train.csv',chunksize=10)
df.get_chunk()
逐块读取是为了将长文件可以截断读取分析。
逐块读取的类型和非逐块读取类型比较:
逐块读取不可进行head显示。
1.1.4 任务四:将表头改成中文,索引改为乘客ID [对于某些英文资料,我们可以通过翻译来更直观的熟悉我们的数据]
PassengerId => 乘客ID
Survived => 是否幸存
Pclass => 乘客等级(1/2/3等舱位)
Name => 乘客姓名
Sex => 性别
Age => 年龄
SibSp => 堂兄弟/妹个数
Parch => 父母与小孩个数
Ticket => 船票信息
Fare => 票价
Cabin => 客舱
Embarked => 登船港口
第一种方法:
#将表头改为中文
df.columns = ['乘客ID','是否幸存','乘客等级(1/2/3等舱位)','乘客姓名','性别','年龄','堂兄弟/妹个数','父母与小孩个数','船票信息','票价','客舱','登船港口']
第二种方法:
#其他方法:多加一行
df = pd.read_csv('train.csv',names=['乘客ID','是否幸存','乘客等级(1/2/3等舱位)','乘客姓名','性别','年龄','堂兄弟/妹个数','父母与小孩个数','船票信息','票价','客舱','登船港口'])
df
在读取文件时就改名,最后多加了一列,之前的列表名变为其中的行,一般不采取这种方式。(容易混淆数据)
1.2 初步观察
1.2.1 任务一:查看数据的基本信息
举例:
#1.查看数据基本信息
df.info()
#2.查看基本信息
df.describe()
#mean平均 std标准差
1.2.2 任务二:观察表格前10行的数据和后15行的数据
head()和tail()默认显示5列。
#观察表格前10行的数据
df.head(10)
#观察表格后15行的数据
df.tail(15)
1.2.4 任务三:判断数据是否为空,为空的地方返回True,其余地方返回False
#判断数据是否为空,为空的地方返回True,其余地方返回False
df.isnull()