Python
Python 데이터 분석(주피터노트북) - Pandas(DataFrame)
developers developing
2022. 10. 22. 12:00
Pandas
- 개념
- 고수준의 자료구조와 파이썬에서 빠르고 쉽게 사용할 수 있는 데이터 분석 도구 포함
- 테이블 형 데이터를 다룰 수 있는 다양한 기능을 가진 라이브러리
- 파이썬 데이터 분석을 위해 기본적으로 사용하는 라이브러리임
- row data를 데이터 분석 전 과정을 위해 사용할 수 있도록 변환하는 데이터 전처리에도 많이 사용됨
- 기능
- 인 메모리 데이터 구조를 가지며 여러 파일 형식 데이터를 읽고 쓰기 위한 도구
- 데이터 정렬, 손실 데이터를 통합 처리
- 데이터 셋을 reshaping, 피벗
- 라벨 기반 슬라이싱, 멀티인덱싱 제공
- 데이터 셋 merge, join 하기 편함
- 다양한 시계열 데이터 처리 가능
- 데이터 구조
- 시리즈(Series) : 라벨 표시된 1차원의 동일 형태 배열
- 데이터 프레임(DataFrame) : 동일하지 않은 형태의 열을 가짐, 라벨 표시된 2차원의 크기 변동이 가능한 테이블 형 구조
- 데이터 타입
- pandas 데이터 타입은 파이썬과 다름
- dtype 으로 불리우며, 주요 데이터 타입은 다음과 같음
- object 는 파이썬의 str 또는 혼용 데이터 타입 (문자열)
- int64 는 파이썬의 int (정수)
- float64 는 파이썬의 float (부동소숫점)
- bool 는 파이썬의 bool (True 또는 False 값을 가지는 boolean)
- 이외에 datetime64 (날짜/시간), timedelta[ns] (두 datatime64 간의 차) 도 활용됨
- dtype 으로 불리우며, 주요 데이터 타입은 다음과 같음
- pandas 데이터 타입은 파이썬과 다름
- 라이브러리 로드 : import pandas as pd
DataFrame

- 테이블형(2차원) 데이터
- 데이터 분석/머신 러닝에서 데이터 처리를 위해 주로 사용됨
- 엑셀/csv와 같이 데이터가 row, column으로 구성
- Columns, Index, Data
- pd.DataFrame(data=None,index: Union[Collection, NoneType] = None, columns: Union[Collection, NoneType] = None, dtype: Union[str, numpy.dtype, ForwardRef('ExtensionDtype'), NoneType] = None, copy: bool = False)
- 설명 및 예제 확인

1. 생성
1) 딕셔너리


※ index 넣어서 생성

2) 이차원 리스트로 생성

3) csv 파일로 생성

데이터 읽어 올때 read 쓴 후 tab으로 자동 완성 가능

※ 파일 읽을 때 오류가 날 경우 : 인코딩이 필요
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb9 in position 0: invalid start byte

※ 인코딩 후



4) excel 파일로 생성


2. 조회

3. 삭제
- 삭제는 해당 dataframe에 적용을 하지 않으면 반영 안됨
- 직접 반영을 위해 inplace=True 사용/ df에 직접 변경을 원하지 않으면 새로운 변수에 담아서 사용하기
1) drop()


※ 컬럼을 삭제할 때 오류
- KeyError: "['age'] not found in axis" ==> 축을 지정하지 않음

오류 수정 후

3. 수정
- 수정는 해당 dataframe에 적용을 하지 않으면 반영 안됨
- 직접 반영을 위해 inplace=True 사용/ df에 직접 변경을 원하지 않으면 새로운 변수에 담아서 사용하기
1) 컬럼명 수정

2) 인덱스 수정

3) 컬럼추가

4) 행 추가
