CS log
[Data Analytics Study] Week2 - Ch5. 데이터 처리가 쉬운 판다스 본문
pandas
파이썬은 데이터 분석을 하기 위해서 여러가지 라이브러리를 사용한다.
이 패키지들 중 r의 데이터프레임 데이터 타입을 참고하여 만든 것이 바로 판다스 데이터프레임
특징
- 자동적/명시적 축의 이름에 따라 데이터를 정렬할 수 있는 데이터 구조
- 잘못 정렬된 데이터에 의한 오류를 방지하고, 다양한 방식으로 색인된 데이터를 다룰 수 있는 기능
- 통합된 시계열 기능 (시계열이란? 일반적으로 어떤 양의 관측결과를 일정한 기준에 따라 계열로 정리한 것을 통계계열이라고 한다)
- 시계열 데이터와 비시계열 데이터를 함께 다룰 수 있는 통합 자료구조
- 산술 연산과 한 축의 모든 값을 더하는 등 데이터 축약 연산은 축의 이름 같은 메타데이터로 전달될 수 있어야 함
- 누락된 데이터를 유연하게 처리할 수 있는 기능
- sql 같은 일반 데이터베이스처럼 데이터를 합치고 관계 연산을 수행하는 기능
판다스 객체 생성
1. 시리즈 : 레이블을 갖는 1차원 배열
- 엑셀 문서의 하나의 열과 같다.
- index라는 레이블을 갖음
2. 데이터프레임 : 레이블을 갖는 행과 열을 갖는 2차원 배열
- 여러 개의 시리즈가 모이면 dataframe!
- 외부 데이터를 pandas 모듈로 읽어들이면 자동으로 dataframe으로 된다.
판다스 데이터 확인
df.info() 함수는 데이터에 대한 전반적인 정보를 나타낸다. df를 구성하는 행과 열의 크기, 컬럼명, 컬럼을 구성하는 값의 자료형 등을 출력해준다.
- 데이터의 개수 3653 entry, 행 인덱싱 번호 0~3652
- 열 변수 형식 출력 : 실수 float, 문자열 object
- 결측치 개수가 나타남 : max_wind, mena_wind 변수에는 결측치가 있음
결측 데이터 삭제하기
판다스에서 dropna() 함수를 이용하여 삭제한다.
dropna(axis, how, thresh, subset, inplace)
1) axis
- 축을 행 또는 열로 결정한다.
- 0또는 'index'이면 누락된 값이 포함된 행을 삭제한다.
- 1또는 'columns'면 누락된 값이 포함된 열을 삭제한다.
- 기본적으로 값은 0으로 설정되어 있다.
2) how
- any는 null 값이 있는 경우 행 또는 열을 삭제한다.
- all은 모든 값이 누락된 경우 행 또는 열을 삭제한다.
- 기본적으로 any로 설정한다.
3) inplace
- true로 설정하면 호출자 dataframe을 변경하는 부울 값이다.
- 기본적으로 값은 false로 설정되어 있다.
컬럼 이름 변경하기
dataframe.columns = ['새이름1', '새이름2', ...]
- 전체 변수 이름을 재설정한다.
- 변수명을 차례로 재설정한다. 변수가 많은 경우 적절하지 않다.
dataframe.rename(columns{'기존이름':'새이름'}, inplace=True}
- 원하는 변수 이름만 수정한다.
- 딕셔너리 구조로 정의한다. 즉, 이전 열 이름을 키로 지정하고 새 이름을 값으로 지정한다.
판다스 데이터 가공
date 칼럼이 숫자형(int)으로 지정되어있다. 숫자 형식은 문자 형식으로 변환해야 한다. astype(str)문자열 형식으로 변환하고 데이터 길이 날짜 형식 8자리에 적합하게 str.slice()를 사용하여 첫 8자리만 지정한다.
dust['date']=dust['date'].astype(str)
dust['date']=dust['date'].str.slice(0,8)
dust.dtypes
데이터 병합하기
merge() 함수는 두 데이터프레임을 각 데이터에 존재하는 고유값을 기준으로 병합할 때 사용한다.
pd.merge(df_left, df_right, how='inner', on=None)
- 아무런 옵션도 적용하지 않으면, on=None이므로 두 데이터의 공용 열 이름(id)을 기준으로 inner(교집합)을 조인하게 된다.
- outer 옵션을 적용하면 id를 기준으로 합치는데, 어느 한쪽에라도 없는 데이터가 있는 경우 NaN 값이 지정된다.
- 왼쪽에 입력한 데이터프레임 기준(how='left')으로 각각의 key 값에 해당하는 열을 지정한다.
- 오른쪽에 입력한 데이터프레임 기준(how='right')으로 각각의 key 값에 해당하는 열을 지정한다.
'AI > Machine Learning' 카테고리의 다른 글
[기계학습] Model assessment (0) | 2024.11.19 |
---|---|
[Data Analytics Study] Week 4 : 시각화 라이브러리 (0) | 2024.05.28 |
[Data analytics study] Week 1 - Chapter 4 : 수치 연산이 쉬운 넘파이 (0) | 2024.05.14 |