欧美中文字幕第一页-欧美中文字幕一区-欧美中文字幕一区二区三区-欧美中文字幕在线-欧美中文字幕在线播放-欧美中文字幕在线视频

python 數據分析超簡單入門 : 項目實踐篇-36大數據

我是創始人李巖:很抱歉!給自己產品做個廣告,點擊進來看看。  

python 數據分析超簡單入門 : 項目實踐篇-36大數據

作者:劉妍

寫在前面的話:

  1. 項目來源于up主自學udacity中的一個項目實踐,up主自身能力不足,因此文章很淺顯
  2. 泰坦尼克數據集是kaggle中一個好的可選數據集,網上有很多基于此數據集的分析&存活預測實踐的文章
  3. 要有點python基礎哦~ 沒有也沒關系,先下載軟件跑跑代碼也是好的

話不多說,這就開始

python 數據分析超簡單入門 : 項目實踐篇-36大數據

一、前期準備

數據下載: https://d17h27t6h515a5.cloudfront.net/topher/2016/December/584bcec3_titanic-data/titanic-data.csv

軟件準備:python 2.7 (安裝 pandas 庫)

多嘴說一句,懶得裝各種庫各種包的童鞋,請直接下載anaconda。

另外推薦jupyter,代碼+報告結合神器

pandas — 用過的人都說好用,沒用過的小伙伴趕緊開始嘗試吧~~

python 數據分析超簡單入門 : 項目實踐篇-36大數據

二、分析開始

1、導入數據&查看基本信息

				import numpy as np
				import pandas as pd
				import matplotlib.pyplot as plt
				data_src='titanic-data.csv'
				df = pd.read_csv(data_src,header=0) # 導入數據
				print df.info()  # 查看數據集的基本信息,
				print df.describe() # 查看數據的摘要信息
				print df.head()  # 查看前幾行數據,方便了解數據具體情況
			

以 “ print df.info() ” 為例,運行后輸出如下結果:

python 數據分析超簡單入門 : 項目實踐篇-36大數據

其中:

  • PassengerId => 乘客ID
  • Survived => 是否生還
  • Pclass => 乘客等級(1/2/3等艙位)
  • Name => 乘客姓名
  • Sex => 性別
  • Age => 年齡
  • SibSp => 堂兄弟/妹個數
  • Parch => 父母與小孩個數
  • Ticket => 船票信息
  • Fare => 票價
  • Cabin => 客艙
  • Embarked => 登船港口

從數據集的基本信息可以看出,Age \ Cabin \ Embarked 是存在缺失值的,其中Cabin字段缺失值過多。

對于少量缺失值的情況,常用的方法是去除和補齊,數值型的數據是可以根據統計學的方法或者機器學習的方法將其進行補齊的。

對于存在大量缺失值的字段,應衡量此字段的重要程度與修復代價之間的權重。up主是果斷的沒有再考慮這個字段了

2、分析 乘客存活率與各單變量之間的關系

先看下全部樣本的存活率是多少:

				survived_rate = float(df['Survived'].sum()) / df['Survived'].count()
				print 'survived_rate: ',survived_rate
			

運行代碼輸出:survived_rate: 0.383838383838

【艙位】

再看下 艙位和存活率之間的關系:

				x=[df[(df.Pclass==1)]['Pclass'].size,df[(df.Pclass==2)]['Pclass'].size,df[(df.Pclass==3)]['Pclass'].size]
				y=[df[(df.Pclass==1) & (df.Survived == 1)]['Pclass'].size,\
				df[(df.Pclass==2) & (df.Survived == 1)]['Pclass'].size, \
				df[(df.Pclass == 3) & (df.Survived == 1)]['Pclass'].size]
				print '1 Pclass number:' + str(x[0]) + '    ' + '1 Pclass survive:' + str(y[0]) + '    ' + '1 Pclass survive rat:', float(y[0]) / x[0]
				print '2 Pclass number:' + str(x[1]) + '    ' + '2 Pclass survive:' + str(y[1]) + '    ' + '2 Pclass survive rat:', float(y[1]) / x[1]
				print '3 Pclass number:' + str(x[2]) + '    ' + '3 Pclass survive:' + str(y[2]) + '    ' + '3 Pclass survive rat:', float(y[2]) / x[2]
				Pclass_survived_rate = (df.groupby(['Pclass']).sum() / df.groupby(['Pclass']).count())['Survived']
				Pclass_survived_rate.plot(kind='bar')
				plt.title('Pclass_survived_rate')
				plt.show()
			

輸出結果如下:

python 數據分析超簡單入門 : 項目實踐篇-36大數據

可以很清楚的看出,艙位與存活率之間的關系。三等艙的乘客們很慘

【性別】

可以再簡單看看性別的影響:

				Sex_survived_rate = (df.groupby(['Sex']).sum() / df.groupby(['Sex']).count())['Survived']
				Sex_survived_rate.plot(kind='bar')
				plt.title('Sex_survived_rate')
				plt.show()
			

【年齡】

數據集里面的年齡是一個數值型變量,先按照未處理的裸數據來繪圖

				Age_survived_rate=(df.groupby(['Age']).sum()/df.groupby(['Age']).count())['Survived']
				Age_survived_rate.plot()
				plt.title('Age_survived_rate')
				plt.show()
			

python 數據分析超簡單入門 : 項目實踐篇-36大數據

得出的結果特別難懂。

對于連續型數值變量,可以先做特征離散化,將年齡分布在各個年齡段中,效果就好多了呢。

這里引出了特征工程中的概念—離散化。

最近up主剛上了一屆特征工程的課,等待up主的課后筆記吧~

				age_clean_date=df[~np.isnan(df['Age'])] #去除年齡數據中的NaN
				ages=np.arange(0,81,5) #0~80歲,每5歲一段(年齡最大80歲)
				age_cut=pd.cut(age_clean_date.Age,ages)
				age_cut_grouped=age_clean_date.groupby(age_cut)
				age_Survival_Rate=(age_cut_grouped.sum()/age_cut_grouped.count())['Survived'] #計算每年齡段的幸存率
				age_Survival_Rate.plot(kind='bar')
				plt.title('Age_group_survived_rate')
				plt.show()
			

python 數據分析超簡單入門 : 項目實踐篇-36大數據

感興趣的小伙伴可以多嘗試幾個變量,看看能不能找到更有趣的結論哦~

3、分析 乘客存活率與復合變量之間的關系

一個數據表象,往往是多個因素影響的結果,其中多個因素的影響力各不同(可以稍微聯想主成份分析的概念)。因此復合變量的分析也是必不可少的哦~

單變量中艙位和性別對存活率的影響都很大,up主好奇到底是哪一個主要決定了乘客能否登上救生船,因此就對艙位和性別整合為復合變量,做了分析。

				Pclass_Sex_survived_rate=(df.groupby(['Sex','Pclass']).sum()/df.groupby(['Sex','Pclass']).count())['Survived']
				Pclass_Sex_survived_rate.plot(kind='bar')
				plt.title('Pclass_Sex_survived_rate')
				plt.show()
			

python 數據分析超簡單入門 : 項目實踐篇-36大數據

結果發現三等艙的女性存活率 高于 一等艙的男性存活率。可見當時的紳士風度啊!

python 數據分析超簡單入門 : 項目實踐篇-36大數據

再想想當時的帥哥,美男們~~ 對不起我歪樓了。。。。。

4、挑選更有意思的分析角度,得出讓人信服的數據結論

對的,你沒看錯,up主自認得出的結論很淺顯,就不在這邊現眼了,大家各自表演吧~~

End.

轉載請注明來自36大數據(36dsj.com): 36大數據 ? python 數據分析超簡單入門 : 項目實踐篇

隨意打賞

python進行數據分析python 數據分析python 大數據python數據分析python入門數據分析方法
提交建議
微信掃一掃,分享給好友吧。
主站蜘蛛池模板: 免费观看一级欧美在线视频 | 印度最a级毛片 | 天海翼一区二区三区免费 | 四虎影视精品永久免费网站 | 日韩一级视频免费观看 | 天天射天天操天天色 | 一级毛片aa高清免费观看 | 在线观看国产一区二区三区 | 四虎国产精品成人永久免费影视 | 人人爱天天做夜夜爽毛片 | 亚洲综合在线成人一区 | 无夜精品久久久久久 | 日本一级爰免费视频 | 99国产成人高清在线视频 | 亚洲国产色综合有声小说 | 69成人影院| 久久久久久久国产精品影院 | 免费黄色的视频 | 国色天香成人网 | 57pao一国产成视频永久免费 | 亚洲国产视频在线观看 | 精品国产96亚洲一区二区三区 | 美女被羞羞的网站 | 在线黄色免费 | 日韩欧美中文字幕在线播放 | 欧美日韩一区二区高清免费视频 | 久久精品在现线观看免费15 | 日本在线看片网站 | 欧美vs日韩vs国产在线观看 | 国产精品自在自线免费观看 | 国产福利午夜 | 亚洲成在人线影视天堂网 | 久久www视频 | 九九毛片 | 欧美在线一 | 亚洲欧美日韩精品一区 | 99热只有这里有精品 | 欧美特级黄色大片 | 欧美αv | 国产精品久久久久久久久免费观看 | 国产精品一区二区久久沈樵 |