簡體   English   中英

列在熊貓交叉表中混亂

[英]The columns are disarrayed in pandas crosstab

jupyter筆記本圖像

該代碼將使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM