记录学习数据分析入门(1)——泰坦尼克Titanic(超详细!)

本文介绍了使用Python进行数据分析入门的实例,通过泰坦尼克数据集展示了数据预处理的重要性,包括缺失值填充、数据类型转换、特征工程中的PCA和LDA等方法。同时,讨论了数据清洗、数据转换、特征选择和模型建立的基本步骤,为机器学习新手提供了一个详细的学习指南。
摘要由CSDN通过智能技术生成

背景介绍

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 (</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值