STUDY_SEONMIN
DAY10 - 데이터프레임 관련 함수(merge, rename, fillna ) 본문
merge
- 데이터프레임을 합칠 때 사용하는 함수.
- 데이터 프레임을 합칠 때 기준이 되는 컬럼을 지정해서, 해당 컬럼의 값이 같은 데이터끼리 붙여줍니다.
- 두 데이터프레임의 데이터들을 1:1 매칭시켜서 쭉 나열시킨 후 기준에 맞는 데이터만 걸러서 보여주는 방식.
- 붙이는 방식
- inner : 기준 컬럼의 값이 양쪽의 데이터프레임에 모두 있는 데이터만 합쳐서 보여줌.
- outer : 기준 컬럼의 값이 양쪽 모두에 있는 데이터들 + 한 쪽에만 있는 데이터까지 보여줌.
한 쪽에만 있는 경우 다른 데이터프레임의 변수들의 값을 가지지 못하기 때문에 결측치가 됌.
user_df에 money_df를 ID 또는 UserID 컬럼을 기준으로 합쳐보겠습니다.
merge함수를 이용해 데이터프레임을 합치면 다음 순서와 같이 진행됩니다.
*inner 방식
1) 먼저 데이터들을 매칭 시켜 가능한 모든 조합을 나열합니다.(15 x 8 = 90 가지 경우)
2) 그 중 ID 컬럼의 값과 UserID 컬럼의 값이 일치하는 데이터들만 남깁니다.
*outer방식
1) 먼저 데이터들을 매칭 시켜 가능한 모든 조합을 나열합니다.(15 x 8 = 90 가지 경우)
2) 그 중 ID 컬럼의 값과 UserID 컬럼의 값이 일치하는 데이터들만 먼저 남깁니다.
3) 합치기 전 money_df의 데이터 또는 user_df의 데이터 중에서 2)에 해당하지 않는 데이터들을 추가해줍니다.
4) 이 때 money_df의 데이터가 추가된다면 user_df의 컬럼인 UserID, Name, Age에는 결측값을 포함한 채로 추가됩니다.
5) user_df의 데이터가 추가된다면 money_df의 컬럼인 ID, Money에는 결측값을 포함한 채로 추가됩니다.
rename
- index 또는 column 명을 변경시켜주는 함수
fillna
- 결측값(NaN)들을 특정값으로 채워주는 함수.
- 결측값을 채울 때는 보통 해당 변수의 평균값을 이용한다.
- 결측값을 처리할 때 아예 해당 데이터를 삭제하는 경우도 있긴합니다. = > dropna() 함수 사용.
ID는 1로 Money는 전체 Money의 평균값으로 채워보겠습니다.
'EDUCATION > DSS Online 6기' 카테고리의 다른 글
DAY10 - 선형회귀모델, pickle (0) | 2021.01.23 |
---|---|
DAY10 - Pandas Pivot (0) | 2021.01.23 |
DAY9 - DataFrame (0) | 2021.01.21 |
DAY9 - pandas, Series (0) | 2021.01.21 |
DAY8 - numpy.unique, numpy.concatenate (0) | 2021.01.19 |