pandas

01. PANDAS 기초

미스터 한뺑 2022. 8. 29. 16:50
반응형

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 을반환 

 

반응형