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']).T.style.background_gradient(cmap='summer_r')

pd.crosstab(df_train['Initial'],df_train['Sex']).T.style.background_gradient(cmap='summer_r')
📌 Initial 별 평균
df_train.groupby('Initial').mean()

📌 Initial 별 생존율 평균
df_train.groupby('Initial')['Survived'].mean().plot.bar()

📌 df_train과 df_test를 concat을 사용해서 하나의 데이터로 만들기
df_all = pd.concat([df_train,df_test])
🔍concat([데이터프레임리스트]) : 데이터프레임을 말그대로 물리적으로 이어 붙여주는 함수.
이어붙여 행 인덱스번호도 그대로 가져왔기때문에, ignore_index=True을 줘서 인덱스를 재배열 할 수 있다.
💡 axis = 0 (기본값)이 적용되기 때문에 행방향(위아래)으로 데이터프레임을 이어붙인다.
열방향 axis=1(좌우)으로 이어붙인다.
💡 join = outer ( 기본값)
이어붙이는 방식을 outer는 합집합, inner는 교집합을 의미.
inner옵션을 줘서 이어붙일 두 데이터에 모두 존재하는 행인덱스만 가져올 수 있다.
join함수는 merge()함수를 기반으로 만들어졌기 때문에 기본 작동방식이 비슷하다. 하지만 join()은 행 인덱스를 기준으로 결합한다는 점에서 차이가 있다. 그래도 이 함수도 on=keys 옵션이 존재한다.
🔍merge() : 두 데이터프레임을 각 데이터에 존재하는 고유값(key)을 기준으로 병합할때 사용.
pd.merge(df_left, df_right, how='inner', on=None)이 기본값
🔍 join() : merge()함수를 기반으로 만들어졌기 때문에 기본 작동방식이 비슷하다.
하지만 join()은 행 인덱스를 기준으로 결합한다는 점에서 차이가 있다.
그래도 이 함수도 on=keys 옵션이 존재한다.
data.join(data2, how='left')이 기본값
📌 loc
loc은 location의 약자이다.
데이터 프레임 행/열의 라벨을 통해 가져오는 방법이다.
쉽게 생각해 칼럼 '이름' 같은 것으로 생각하면 될 것 같다.
슬라이싱을 통해서 여러 값을 가져올 수도 있다.
df_train.loc[:1,:'Name']

'Study > kaggle' 카테고리의 다른 글
캐글 타이타닉 Titanic - 10. Feature engineering - Fill Null in Embarked and categorize Age (0) | 2023.03.18 |
---|---|
캐글 타이타닉 Titanic - 8. EDA - Fare, Cabin, Ticket (0) | 2023.03.14 |
캐글 타이타닉 Titanic - 7. EDA - FamilySize (0) | 2023.03.12 |
캐글 타이타닉 Titanic - 6. EDA - Embarked (0) | 2023.03.11 |
캐글 타이타닉 Titanic - 5. Age, Sex, Pclass (violinplot) (0) | 2023.03.11 |