Pandas
1 min read
Updated 4 Aug 2026
Project 4 — Titanic-style Analysis
titanic = pd.DataFrame({
titanic = pd.DataFrame({
'Survived':[0,1,1,1,0,0], 'Pclass':[3,1,3,1,3,2],
'Sex':['male','female','female','female','male','male'],
'Age':[22,38,26,35,None,54], 'Fare':[7.25,71.3,7.9,53.1,8.05,51.9]})
# Fill missing ages with median by class
titanic['Age'] = titanic.groupby('Pclass')['Age'].transform(
lambda s: s.fillna(s.median()))
# Survival rate by sex and class
titanic.groupby(['Sex','Pclass'])['Survived'].mean().unstack()
# Feature engineering: age band + is_child
titanic['AgeBand'] = pd.cut(titanic['Age'], [0,12,18,40,100],
labels=['child','teen','adult','senior'])
titanic['IsChild'] = (titanic['Age'] < 13).astype(int)
Insight: groupby().mean() on a 0/1 target gives survival rate; pd.cut bins continuous features for modeling.