Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 파이썬
- 주피터노트북맷플롯립
- python데이터분석
- sql따라하기
- Python
- 파이썬수업
- SQL수업
- 수업기록
- matplotlib
- sql연습하기
- 파이썬데이터분석
- 주피터노트북데이터분석
- 파이썬차트
- 판다스데이터분석
- 파이썬알고리즘
- 주피터노트북판다스
- 파이썬데이터분석주피터노트북
- SQLSCOTT
- 팀플기록
- python수업
- 주피터노트북
- 데이터분석시각화
- SQL
- 맷플롯립
- 판다스그래프
- 파이썬시각화
- python알고리즘
- sql연습
- 주피터노트북그래프
- 파이썬크롤링
Archives
- Today
- Total
IT_developers
Python 데이터 분석(주피터노트북) - Pandas(DataFrame) 본문
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) 행 추가
'Python' 카테고리의 다른 글
Python 데이터 분석(주피터노트북) - Pandas(Subset-row)(1) (0) | 2022.10.24 |
---|---|
Python 데이터 분석(주피터노트북) - Pandas(데이터프레임 실습) (0) | 2022.10.23 |
Python 데이터 분석(주피터노트북) - Pandas(Series) (0) | 2022.10.21 |
Python 데이터 분석(주피터노트북) - 넘파이(행렬)(5) (0) | 2022.10.20 |
Python 데이터 분석(주피터노트북) - 넘파이(브로드 캐스팅 rules)(4) (0) | 2022.10.20 |
Comments