Мои данные выглядят так:
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,
Когда я пытаюсь сравнить число выживших в первом классе и пол, это показывает мне странные результаты.
Когда я пытаюсьсделать это так
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()
Это показывает, что почти все девушки в первом классе выжили (и это правильно)
Но когда я пытаюсь сделать это так:
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()
Это показывает, что почти каждая женщина умерла (и это неправильно!)
Результаты мужчин верны.
