並列柱狀圖或疊加柱狀圖都可以很好地展示這道題的結果,方法也類似,只需在引數中設定stack=true或false。
##並列柱狀圖
train.
groupby([
'***'
,'survived'])
['survived'].
count()
.unstack()
.plot
(kind=
'bar'
,stacked=false)
plt.
title
('survived_count'
) plt.
ylabel
('count'
)plt.
show()
##疊加柱狀圖
這裡我們把不同票價的總人數和存活人數畫在一張圖中,可以更好地看出生存率的差別。
import matplotlib
import matplotlib.pyplot as plt
#下面兩行的作用是讓圖表可以顯示出中文
matplotlib.rcparams[
'font.sans-serif']=
['simhei'
]matplotlib.rcparams[
'font.family']=
'sans-serif'
fare_sur = train.
groupby([
'fare'])
['survived'].
agg(
['sum'
,'count'])
fare_sur.
rename
(columns=
, inplace = true)
fare_sur.
plot
(grid=true)
plt.
title
('不同票價人數對比'
可以看出,低票價的總人數非常多,但存活的人卻非常少,存活率極低。而票價超過100後,總人數曲線和存活人數曲線走勢近乎重合,說明買高票價的人少但他們的存活率較高。
這裡嘗試一下直方圖。
total=train[
'age'
]survived=train[train[
'survived']==
1]['age'
]data=pd.
concat
([total,survived]
,axis=1)
data.columns=
['總人數'
,'存活人數'
] pic=data.plot.
hist
(bins=
8,fontsize=
30) #按年齡分為8組,即每10歲為一組
可以看出,10歲以下組別的存活率是最高的,超過了50%。其他年齡段的存活率都目測都沒有超過50%,這與上次task groupby 計算的存活率一致。
動手學深度學習PyTorch版 task4
目錄 task1 task2 task3 task4 本章節 task5 task6 task8 task9 task10 1 機器翻譯及相關技術 機器翻譯 mt 將一段文字從一種語言自動翻譯為另一種語言,用神經網路解決這個問題通常稱為神經機器翻譯 nmt 主要特徵 輸出是單詞序列而不是單個單詞。輸...
動手學資料分析 Task 2
常用的函式有dropna 和fillna dataframe.dropna axis 0,how any thresh none,subset none,inplace false 屬性說明 預設引數axis 0,根據索引 index 刪除指定的行 axis 1,根據列名 columns 刪除指定的...
動手學資料分析 Task3
concat方法可以在兩個維度上拼接,預設縱向憑藉 axis 0 拼接方式缺省外連線 pd.concat objs,axis 0,join outer join axes none,ignore index false,keys none,levels none,names none,verify ...