Mes données ressemblent à ça :
Survived,Pclass,Name,Sex
0,3,"Braund, Mr. Owen Harris",male
1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female
1,3,"Heikkinen, Miss. Laina",female
1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female
0,3,"Allen, Mr. William Henry",male
0,3,"Moran, Mr. James",male,
Lorsque j'essaie de comparer le nombre de survivants en première classe et le sexe, j'obtiens des résultats bizarres.
Quand j'essaie de le faire comme ceci
data[(data['Sex']=='female') & (data['Pclass']== 1)]['Survived'].value_counts().plot(kind='bar')
plt.legend()
plt.xticks(np.arange(2), rotation=0)
plt.title("Male and female survivors in first class")
plt.show()
Il montre que presque toutes les femmes en première classe ont survécu (et c'est exact).
Mais quand j'essaie de le faire comme ça :
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
data = pd.read_csv('titanic_data/train.csv')
males = data[(data['Sex']=='male') & (data['Pclass'] == 1)]['Survived'].value_counts()
females = data[(data['Sex']=='female') & (data['Pclass']== 1)]['Survived'].value_counts()
plt.bar(range(len(females)), females, align='edge', width=-0.4, label='Female', color='red', alpha=0.5)
plt.bar(range(len(males)), males, align='edge', width=0.4, label='Male', color='blue', alpha=0.5)
plt.legend()
plt.xticks(np.arange(len(males)), rotation=0)
plt.title("Male and female survivors in first class")
plt.show()
Il montre que presque toutes les femmes sont mortes (et c'est faux !).