Study/kaggle 10

캐글 타이타닉 Titanic - 10. Feature engineering - Fill Null in Embarked and categorize Age

# df_train데이터 'Embarked'의 결측치 확인 df_train['Embarked'].isnull().sum() 2개가 나온다. df_train['Embarked'].fillna(df_train['Embarked'].mode,inplace = True) 'Embarked'의 최빈값으로 넣어준다. 최빈값은 'S' # df_train에 Age_cat이라는 열을 만들어서 나이대별로 나눠주기 df_train['Age_cat']=0 => 0값을 넣은 데이터프레임을 만든 것. df_train.loc[df_train['Age'] < 10,'Age_cat'] = 0 df_train.loc[(10

Study/kaggle 2023.03.18

캐글 타이타닉 Titanic - 9. Feature engineering - Fill Null in Age

df_train.Name은 df_train['Name']과 동일한 결과가 나온다. Dooley, Mr. Patrick이 있으면 Mr만 빼내기. 정규표현식 사용. df['Name'].str.extract('([A-Za-z]+\.) df_train['Initial'] = df_train['Name'].str.extract('([A-Za-z]+)\.') df_test['Initial'] = df_test['Name'].str.extract('([A-Za-z]+)\.') # 추출대상에 공백을 포함하지 않아서 공백은 나오지 않음. df_train.Initial 📌 판다스 Initial과 Sex의 관계를 Crosstab으로 나타내기 pd.crosstab(df_train['Initial'],df_train['Sex'..

Study/kaggle 2023.03.16

캐글 타이타닉 Titanic - 8. EDA - Fare, Cabin, Ticket

💡 distplot 연속된 수치형 데이터가 아닌 히스토그램을 보기 위한 함수 도수분포표로 그래프를 나타낸 것이다. (도수 = frequency) 확률밀도함수도 함께 표현한 것이다. (부드럽게 값을 표현함) 결측치(null값)가 있으면 distplot을 그릴 수 없다. 시리즈 형태로 반환해야 distplot을 가져올 수 있다. Fare f, ax = plt.subplots(1,1,figsize=(8,8)) g =sns.distplot(df_train['Fare'], color='b', label='Skewness: {:.2f}'.format(df_train['Fare'].skew()), ax=ax) g =g.legend(loc='best') # g는 matplotlib객체 Skewness = 왜도값 알아보..

Study/kaggle 2023.03.14

캐글 타이타닉 Titanic - 7. EDA - FamilySize

Family = SibSp + Parch df_train['FamilySize'] = df_train['SibSp'] + df_train['Parch'] +1 df_train['SibSp']와 df_train['Parch']이 모두 숫자로 되어있다. => 판다스의 시리즈 가족단위에 본인을 포함해야하니까 +1을 해주는 것. print('Maximum size of Family:', df_train['FamilySize'].max()) print('Minimum size of Family:', df_train['FamilySize'].min()) Maximum size of Family: 11 Minimum size of Family: 1 💡 판다스 시리즈의 기능은 사칙 연산이 가능하다. 더하기, 빼기, 곱..

Study/kaggle 2023.03.12

캐글 타이타닉 Titanic - 6. EDA - Embarked

Embarked 탑승한 항구 f, ax = plt.subplots(1,1,figsize=(7,7)) df_train[['Embarked','Survived']].groupby(['Embarked'],as_index = True).mean().sort_values('Survived',ascending=False).plot.bar(ax=ax) plt.show() 💡 S항구에서 탑승한 탑승객들의 생존 확률이 가장 낮았고 C항구에서 탑승한 탑승객들의 생존 확률이 S항구와 Q항구보다 더 높았다. 📌 Embarked를 기준으로 나눈 Survived의 평균 정렬방법. 1. .sort_values('Survived') => Survived의 평균을 기준으로 정렬 df_train[['Embarked','Survived'..

Study/kaggle 2023.03.11

캐글 타이타닉 Titanic - 4. EDA - Age

Age print('제일 나이 많은 탑승객 : {:.1f} years'.format(df_train['Age'].max())) print('제일 어린 탑승객 : {:.1f} years'.format(df_train['Age'].min())) print('탑승객 평균 나이 : {:.1f} years'.format(df_train['Age'].mean())) 제일 나이 많은 탑승객 : 80.0 years 제일 어린 탑승객 : 0.4 years 탑승객 평균 나이 : 29.7 years 📌 커널 밀도 추정 검색해서 알아보기 fig, ax = plt.subplots(1, 1, figsize=(9,5)) sns.kdeplot(df_train[df_train['Survived']==1]['Age'],ax=ax) sn..

Study/kaggle 2023.03.11

캐글 타이타닉 Titanic - 3. EDA - Sex(성별)

2.2 Sex(성별) 📌 시각화 f, ax =plt.subplots(1,2,figsize=(18,8)) # 도화지 준비 df_train[['Sex','Survived']].groupby(['Sex'], as_index=True).mean().plot.bar(ax=ax[0]) ax[0].set_title('Survived vs Sex') sns.countplot('Sex', hue='Survived', data= df_train, ax=ax[1]) # Sex컬럼으로 나눠서 셀거다. hue=색깔은 Survived로 나눌거다. ax[1].set_title('Sex: Survived vs Dead') plt.show() 📌 Groupby df_train[['Sex','Survived']].groupby(['Se..

Study/kaggle 2023.03.08

캐글 타이타닉 Titanic 2. EDA-Pclass

2.1 Pclass 📌 그래프 그리기 f, ax = plt.subplots(1,2,figsize=(18,8)) # 도화지 준비 df_train['Survived'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%', ax = ax[0],shadow=True) ax[0].set_title('Pie plot - Survived') # 그래프 제목 ax[0].set_ylabel('') # 레이블을 없애겠다 sns.countplot('Survived', data=df_train, ax=ax[1]) ax[1].set_title('Count plot - Survived') plt.show() 📌 Groupby df_train[['Pclass','Survived'..

Study/kaggle 2023.03.08

캐글 타이타닉 Titanic 1. Dataset check

# 라이브러리 불러오기 # 각 칼럼의 null데이터가 얼마나 있는지 퍼센트로 알기 위한 것. # 각 칼럼의 null데이터가 얼마나 있는지 시각화. # df[ '열이름'] 형태로 넣으면 쉽게 해당 열만 추출할 수 있다. # loc와 iloc의 차이를 기억하자. df.loc['행이름':'행이름' , '열이름':'열이름'] df.iloc[행번호이상 :행번호미만 , 열번호이상: 열번호미만]

Study/kaggle 2023.03.06