[英]The columns are disarrayed in pandas crosstab
該代碼將使用Seaborn中的Titanic數據集構建pd.crosstab。 輸出表中的列總和看起來很混亂。
import pandas as pd
import seaborn as sns
titanic = sns.load_dataset('titanic')
bin = [0,15,100]
titanic["adult"] = pd.cut(titanic.age, bin, labels=["kid","adult"])
pd.crosstab(titanic.survived, titanic.adult, normalize=True, margins=True)
我預計將有0.116246 / 0.883754 / 1.000000
,但是在最后一行應放置列總和的位置給出0.883754 / 0.116246 / 1.000000
。
總計的翻轉/沖銷完全是由於原始age
列中存在NaN值,隨后您創建的合並adult
列中也存在NaN值。 您應該只將dropna=False
添加到您的pd.crosstab()
命令中,這將返回正確的結果:
pd.crosstab(titanic.survived, titanic.adult, dropna=False, normalize=True, margins=True)
adult kid adult All
survived
0 0.047619 0.546218 0.616162
1 0.068627 0.337535 0.383838
All 0.116246 0.883754 1.000000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.