Python pandas

soominlee·2022년 8월 4일
0

🐍 Python

목록 보기
14/14

*해당 게시글은 <NAVER boostcourse> 에서 수강한 강의를 바탕으로 정리한 내용입니다.

Pandas

= panel data

  • 구조화된 데이터 처리를 지원하는 파이썬 라이브러리
  • 고성능 array 계산 라이브러리인 numpy와 통합함으로써 강력한 spread sheet 처리 기능을 제공함
  • tabular data를 다루는데 적합함

1. Series object

  • column vector를 다루기에 적합한 객체임
  • list → series : `series(data=list, index=idx_list)
  • series 요소 접근 방법
    • series.index : 인덱스값 접근
    • series.value : 시리즈값 접근
    • series.name : 시리즈 이름, dataframe에서 추출된 series일 경우 column 명에 해당됨
  • dict type을 series로 변환해줄 수 있음 : key값이 인덱스가 되고 value값이 시리즈값이 됨
  • astype() 함수를 이용해 value 타입을 변경할 수 있음

2. DataFrame object

  • matrix를 다루는 객체임

  • row, column으로 구성되어 있음

  • dataframe에서 column 선택 = series 추출

    • 추출 방법 1: df.col_name
    • 추출 방법 2: df['col_name']
  • index method

    • .loc : 인덱스 이름 사용

    • .iloc : 인덱스 번호 사용

      icol1col2
      0'a'28
      3'b'20
      4'c'15
      5'd'9
        df.iloc[3,0] = 'd'
        df.loc[3,0] = 'b'
    • numpy와 마찬가지로 boolean index, fancy index 사용 가능 (series도 사용 가능)

    • reset_index : index를 reset한 df 반환함, 기존 인덱스는 새로운 column으로 들어감
      **inplace 옵션을 true로 설정해주면 원본 df에도 적용됨
      **drop 옵션을 true로 설정해주면 column으로 들어간 기존 인덱스를 삭제하여 df를 반환함

  • delete method

    • del : 데이터프레임 원본의 row, col 삭제, 할당된 메모리도 삭제됨
    • drop : axis를 지정하여 row, col 삭제, 삭제한 df를 반환함 (원본은 유지됨)
      **inplace 옵션을 true로 설정해주면 원본 df에도 적용됨

3. DataFrame, Series operation

  • 인덱스를 기준으로 연산을 수행함
  • 연산하는 df와 series의 인덱스가 완전히 일치하지 않는 경우 index의 경우 NaN 값으로 채워줌
  • 연산 함수의 fill_value 옵션을 통해 채워주는 값을 지정해줄 수 있음
  • df와 series는 +- 와 같은 연산자로 연산하게 되면 모든 값이 NaN 값으로 채워짐
    따라서 df.add(series, axis=0) 과 같이 axis를 지정해줌으로써 row broadcasting을 수행할 수 있도록 함
  • lambda, map, apply 함수로 df operation 수행
profile
Soominlee

0개의 댓글