引言
前面我们介绍了很多关于 Pandas 的基础操作以及拿到一份数据后首先要做的是对数据的基础预处理。
本篇我们接着介绍当我们处理完数据后,可以对数据进行的一些计算操作。
本篇文章使用的数据为泰坦尼克的数据集,具体的数据集已经上传至代码仓库,有需要的同学可以自行取用。
国内的网络访问有些慢,建议自己想办法,实在不行,可以加小编微信,小编有个神奇的软件,特别好用。
在正文内容开始前,小编先把数据中的表名的中英文对照列出来:
- PassengerId : 乘客ID
- Survived : 是否幸存
- Pclass : 乘客等级(1/2/3等舱位)
- Name : 姓名
- Sex : 性别
- Age : 年龄
- SibSp : 堂兄弟/妹个数
- Parch : 父母与小孩个数
- Ticket : 船票信息
- Fare : 票价
- Cabin : 客舱
- Embarked : 登船港口
预处理
首先,我们拿到数据的第一步是先检查一下数据质量,通过方法 info() 看下有数据质量:
import pandas as pd
# 数据导入
data_train = pd.read_csv("train.csv")
# 数据查看
print(data_train.info())
# 输出内容
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId 891 non-null int64
Survived 891 non-null int64
Pclass 891 non-null int64
Name 891 non-null object
Sex 891 non-null object
Age 714 non-null float64
SibSp 891 non-null int64
Parch 891 non-null int64
Ticket 891 non-null object
Fare 891 non-null float64
Cabin 204 non-null object
Embarked 889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB
None
上面这些数据到底说了个啥?
看过我前面文章的同学应该知道,info()
这个方法经常用作查看数据空值,很不辛,这里有些属性的数据不全,如:
- Age(年龄)属性只有714名乘客有记录
- Cabin(客舱)更是只有204名乘客是已知的
这里我们进一步使用 describe()
看下这批数据的统计分析数据:
print(data_train.describe())
# 输出内容
PassengerId Survived Pclass Age SibSp \
count 891.000000 891.000000 891.000000 714.000000 891.000000
mean 446.000000 0.383838 2.308642 29.699118 0.523008
std 257.353842 0.486592 0.836071 14.526497 1.102743
min 1.000000 0.000000 1.000000 0.420000 0.000000
25% 223.500000 0.000000 2.000000 20.125000 0.000000
50% 446.000000 0.000000 3.000000 28.000000 0.000000
75% 668.500000 1.000000 3.000000 38.000000 1.000000
max 891.000000 1.000000 3.000000 80.000000 8.000000
Parch Fare
count 891.000000 891.000000
mean 0.381594 32.204208
std 0.806057 49.693429
min