背景介绍
Titanic数据集是非常适合数据科学和机器学习新手入门练习的数据集。
数据集为1912年泰坦尼克号沉船事件中一些船员的个人信息以及存活状况。这些历史数据已经非分为训练集和测试集,可以根据训练集训练出合适的模型并预测测试集中的存活状况。
数据集下载地址(如果kaggle下载慢,可以用这个)
来源于 和鲸社区: 泰坦尼克数据集下载.
这个网站对于数据集的各个特征有很详细的数据描述。
一.数据基本情况的了解
import pandas as pd
titanic=pd.read_csv('train.csv')
titanic.head(3)
print(titanic.describe())
print(titanic.info())
这里通过pandas,将csv文件读出DataFrame数据形式。
输出结果
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 0.000000 0.000000
25% 0.000000 7.910400
50% 0.000000 14.454200
75% 0.000000 31.000000
max 6.000000 512.329200
<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
输出不是太整齐,关于这里呢,如果把print去掉,就是很整齐的表格形式啦~如图所示:
describe函数
查看输出结果,运用了describe函数,总结数据集分布的中心趋势,分散和形状,不包括NaN值。
DataFrame.describe(percentiles=None,include=None,exclude=None),
可以快速的求出一些算术运算指标。其中其他很容易理解,std代表标准差。
include包含all、[np.number]和[np.object]三个值,describe属性可以对数值型变量(include=[‘number’])和离散型变量(include=[‘object’])进行描述性统计。
(1)include=‘all’
print(titanic.describe(include='all'))
PassengerId Survived Pclass Name \
count 891.000000 891.000000 891.000000 891
unique NaN NaN NaN 891
top NaN NaN NaN Nakid, Miss. Maria ("Mary")
freq NaN NaN NaN 1
mean 446.000000 0.383838 2.308642 NaN
std 257.353842 0.486592 0.836071 NaN
min 1.000000 0.000000 1.000000 NaN
25% 223.500000 0.000000 2.000000 NaN
50% 446.000000 0.000000 3.000000 NaN
75% 668.500000 1.000000 3.000000 NaN
max 891.000000 1.000000 3.000000 NaN
Sex Age SibSp Parch Ticket Fare Cabin \
count 891 714.000000 891.000000 891.000000 891 891.000000 204
unique 2 NaN NaN NaN 681 NaN 147
top male NaN NaN NaN 347082 NaN B96 B98
freq 577 NaN NaN NaN 7 NaN 4
mean NaN 29.699118 0.523008 0.381594 NaN 32.204208 NaN
std NaN 14.526497 1.102743 0.806057 NaN 49.693429 NaN
min NaN 0.420000 0.000000 0.000000 NaN 0.000000 NaN
25% NaN 20.125000 0.000000 0.000000 NaN 7.910400 NaN
50% NaN 28.000000 0.000000 0.000000 NaN 14.454200 NaN
75% NaN 38.000000 1.000000 0.000000 NaN 31.000000 NaN
max NaN 80.000000 8.000000 6.000000 NaN 512.329200 NaN
Embarked
count 889
unique 3
top S
freq 644
mean NaN
std NaN
min NaN
25% NaN
50% NaN
75% NaN
max NaN
这里的freq代表着频次。
(2)include=np.object/number
import numpy as np
titanic.describe(include=[np.object])
titanic.describe(include=[np.number])
info函数
dataframe.info()函数用于获取 DataFrame 的简要摘要。在对数据进行探索性分析时,它非常方便。为了快速浏览数据集,我们使用dataframe.info()功能。
1.用法:
DataFrame.info(verbose=None, buf=None, max_cols=None, memory_usage=None, null_counts=None)
2.参数分析:
-verbose:是否打印完整的摘要。屏幕上将不显示任何内容。
-max_info_columns设置。 True或False会覆盖显示。max_info_columns设置。
-buf:可写缓冲区,默认为sys.stdout
-max_cols:确定是打印完整摘要还是简短摘要。屏幕上将不显示任何内容。max_info_columns设置。
-memory_usage:指定是否应显示DataFrame元素(包括索引)的总内存使用情况。屏幕上将不显示任何内容。memory_usage设置。 True或False会覆盖显示。memory_usage设置。 “ deep”的值与True相同,具有自省性。内存使用情况以人类可读的单位(以2为基数的表示形式)显示。
-null_counts:是否显示非空计数。如果为None,则仅显示框架是否小于max_info_rows和max_info_columns。如果为True,则始终显示计数。如果为False,则从不显示计数。
(1)DataFrame的完整摘要
titanic.info()
输出:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (</