2016-11-12 2 views
0

Ich versuche Proportionen für Altersverteilung für Titanic-Daten von Kaggle zu plotten.Plot proportion von Dataset

age_distribution_died= df.Age[df['Survived']==0].dropna().value_counts().sort_index() 
age_distribution_survived=df.Age[df['Survived']==1].dropna().value_counts().sort_index() 

Was würde Ich mag es, sie in Behälter der Größe 10, zu einer Gruppe tun, damit die für das Alter 0-10, 10-20 usw. ich mit diesem Code versucht, aber es hat nicht funktioniert:

bins = [0,10,20,30,40,50,60,70,80] 
test = age_distribution.groupby(pd.cut(age_distribution,bins)) 
+1

können Sie zeigen uns, Ausgabe/Traceback von Ihrem Code ausführen? Es erleichtert uns die Hilfe. –

Antwort

1

Sie können es auf diese Weise tun:

import matplotlib 
matplotlib.style.use('ggplot') 

df = pd.read_csv(r'D:\download\train.csv') 

clean = df.dropna(subset=['Age']) 

(clean.groupby(pd.cut(clean.Age, np.arange(0, 90, step=10))) 
     .Survived.mean().mul(100) 
     .to_frame('Survival rate') 
     .plot.bar(rot=0, width=0.85, alpha=0.5, figsize=(14,10))) 

enter image description here

+0

@ AlenPavlović, Sie sind willkommen. Bitte denken Sie an [acceptant] (http://meta.stackexchange.com/a/5235) eine Antwort, wenn Sie glauben, dass sie Ihre Frage beantwortet hat – MaxU