pandas란
- 파이썬에서 데이터를 쉽게 다룰수 있는 라이브러리
- 2차원형태의 데이터를 집계,전처리 등을 아주 쉽게 할수 있다.
- 정형데이터를 다루는 라이브러리
pandas의 데이터 구조
- 데이터 프레임
- 2차원구조로 되어있는 행렬 데이터
- 시리즈
- 1차운 주고로 되어있는 한 종류의 데이터
- 시리즈가 여러개 모이면 데이터 프레임이 된다.
** 실습 **
일단 GOOGLE COLAB에 판다스 라이브러리를 불러온다
또한 판다스는 넌파이 기반으로 만들어져 있기 때문에 넌파이도 가져온다 .
** 데이터 프레임만들기
데이터프레임을 만드는 방법이다 .
한 데이터를 2차원형태의 데이터로 만들어 놓고
DataFrame 클래스를 선언하면 끝 ~!
data인 변수를 집어 놓고 컬럼명을 따로 설정 하고 싶다고 하면 파라미터에 고정으로 넣을수 있다.
**시리즈 만들기 **
시리즈 만들기는 간단하다
df.["컬럼명"]을 작성하면 된다
** 딕셔너리를 이용해서 DataFrame 만들기 **
키값이 컬럼명이 된다.
** CSV 파일 불러오기 **
CSV파일이란 ?? 일부 데이터가 포함된 텍스트 파일입니다.
google colab에 mysql라이브러리를 이용해 데이터를 불러왔다 .
DB를 불러온 파일을 CSV 파일로 저장을 하는 코드
** 데이터프레임 기초 정보 확인하기 **
컬럼명만 확인을 하고 싶을땐 df.columns를 작성하면 된다 .
만약에 인덱스가 아닌 리스트로 반환 받고 싶으면
columns 앞에 tolist()메소드를 작성하면 된다.
특정 컬럼의 데이터를 리스트로 반환하는 코드
한 눈으로 보기 쉽게 데이터를 볼수 있다 . info()메소드를 사용하면 된다 .
컬럼명, 널값이 여부 형태등을 볼수가 있다 .
***수치형 컬럼에 대한 요약***
수치형 데이터에 대한 요약들을 한번에 보고싶을때 ! describe()메소드를 사용한다 .
분수위, 최소, 최대 , 평균, 갯수(null 제외)를 한번에 알려준다.
** 데이터프레임 다루기 **
- copy 메소드
- 데이터프레임을 복사한다
- 기본적으로 깊은 복사
- rename 메소드
- 지정한 컬럼명들을 변경할수 있다.
- 딕셔너리 형태로 전달하면 된다.
- key는 변경전 컬럼이름
- value는 변경후 컬럼이름
컬럼명을 바꿀때는 처음에 딕셔너리형태로 데이터를 만든 다음 왼쪽에는 바꾸기 전 컬럼명 오른쪽은 바꿀 컬럼명을 지정하면된다 .
그리고 rename메소드를 사용해 파라미터에 지정을 한다.
- add_prefix
- 컬럼명 앞부분에 공통된 문자열 붙혀주기
- add_suffix
- 컬럼명 뒷부분에 공통된 문자열 붙혀주기
변수에 뽑아낼 컬럼명 넣고 시리즈 형태로 출력한다.
- 컬럼명 삭제하기
- 컬럼명을 여러개 삭제하기
- 컬럼명 추가하기
- 컬럼 기준으로 데이터 정렬하기
- 기본은 오름차순
sort_values()메소드를 사용하고 정렬할 컬럼명을 적는다 .
기본으로 오름차순으로 정렬이 된다 .
내림차순 코드
- 데이터 프레임 섞기
- frac: 섞은 후에 반환할 비율을 0~1사이에 값을 넣으면 된다.
행렬 다루기
- 데이터프레임에는 행에 대한 이름을 index라고 하고, 열에 대한 이름을 column 이라 한다.
- 데이터프레임도 numpy 기반으로 돌아가기 때문에, 행번호와 열번호가 있다.
iloc를 이용하면 된다 .
이런식으로 슬라이싱을 해서 원하는 인덱싱을 가져올수 있다 .
하나의 리스트로 만들어서 슬라이싱도 가능하다 !!
- loc
- index 명과 column 명을 이용한 슬라이싱
- 마스킹이용한 행과 열 선택이 가능하다.
reset_index 메소드
- 인덱스를 새로 생성한다
컬럼명으로 보면 인덱스가 새로 생긴 걸 알수 있으며 행에는 인덱스 번호가 적혀있다.
- 마스킹을 이용한 방법
- 다중 조건을 주어 마스킹
- 데이터프레임에서는 논리 연산자를 지원하지 않는다.
- or 대신 |(Vertical bar)
- 둘중에 하나가 1 이면 1을 반환
- and 대신 &(Ampersand)
- 둘다 1이면 1을 반환
- not 대신 ~(tilde)
- 1 면 0 을반환
'pandas' 카테고리의 다른 글
3.PANDAS를 이용한 전처리 (0) | 2022.08.29 |
---|---|
02, PANDAS를 이용한 EAD( 왜도 ,상관계수) (0) | 2022.08.29 |