본문으로 바로가기

Pandas (2 장 완료해야함)

category boostcamp/AI tech prep 2021. 12. 12. 11:19
Categoryboostcamp/AI tech prep
Tagpandaspython
날짜
발행 여부

Pandas

  • python 의 엑셀이다.
  • numpy 와 통합되어 같은 기능을 사용할 수 있다.

Series

  • Column vector 를 표현하는 Object
  • numpy.ndarray 의 subclass 이다.
  • index 자체가 중요하지는 않지만, 알고는 있자.
  • index=이름 으로 index 이름으로 설정해 줄 수도, name 으로 series 이름을 설정할 수도 있다.

Series operation

Dataframe

  • numpy 의 subclass
  • Series 를 모아서 만든 2차원 배열
  • columns 인수를 써서 column 을 선택하여 추출할 수 있다.

.loc vs .iloc

  • .loc : index 의 이름을 매치시킨다.
  • .iloc : 현재 있는 index 들 중 순서대로 매치시킨다.
  • s.loc[:3] 을 보자.
    • index 가 현재 49 48 47 46 45 1 2 3 4 5 가 있다.
    • index 가 3인 것 까지 slicing 해준다.
  • s.iloc[:3] 을 보자
    • index 가 현재 49 48 47 46 45 1 2 3 4 5 가 있다.
    • index 들의 배열이 [49, 48, 47, 46 ...] 이렇게 있는 것이다.
    • index 의 배열의 index 가 3이기 이전까지 slicing 하자는 것이므로,
      • 0번째 index 인 49번
      • 1번째 index 인 48번
      • 2번째 index 인 47번
    • 이 slicing 되는 것이다.

Column 에 새로운 데이터 할당하기

  • 조건을 설정하여 얻고 싶은 데이터만 새로운 feature 를 만들어 줄 수 있다.
  • 많이 사용한다.

Selection with column name

.head() 와 column name 을 결합하여 적절히 몇 개의 data 만을 뽑아올 수 있따.

Selection with index number

추가적인 기능

  • Boolean index 를 적용하여 series data 를 추출할 수 도 있다.
  • dataframe 의 index 를 바꿔줄 수 있다. 실존하는 data 를 index 로써 설정할 수 있는 것이다.
    • df.index 를 사용한다.

접근법 (loc, iloc)

  • iloc 과 첫번째 기법을 많이 쓰고 loc 은 잘 사용하지 않는다.

Drop

  • df.drop(row 번호) (여러개의 row 도 가능하다.)
  • df.drop(칼럼명, axis) 을 하여 column 을 제거 할 수 있다.
    • 하지만, df = df.drop() 을 해주어야 실제 데이터에 갱신되는 것이다.
    • 혹은, df.drop(~~, inplace=True) 를 해주어야 갱신된다.
    • df.drop() 은 삭제된 dataframe 을 반환해주기만 하고 갱신해주지는 않는다.

Series operation

  • index 값을 기준으로 연산을 수행한다.
  • 겹치는 index 가 없으면 NaN 값으로 반환
    • 보통 index name 을 설정해주지 않으므로, 상관 없지만 알아두자.

Dataframe operation

  • dataframe 은 index 와 column 을 모두 고려한다.
  • 겹치는 값이 없을 때, NaN 값으로 하지 않고 다른 것으로 채우고 싶다면 fill_value=0 을 사용한다.
  • add, mul, div 등 사용 가능하다.

  • Series + Dataframe 을 할 수 있다.
    • column 을 기준으로 broadcasting 이 발생한다.
    • axis 설정하여 다른 축으로 broadcasting 가능

lambda, map, apply

💡
배울 내용 중 실용적인 내용

map for series

  • map 대신 replace 를 사용할 수 있다.
    • inplace=True 로 db 자체를 바꾸어줄 수 있다.

    apply for dataframe

    💡
    map 은 series 의 원소 단위에 적용시켜 줄 때였다면, apply 는 series 전체에 함수를 적용한다.
    • data 내의 여러가지 통계를 구할 때 많이 쓴다.
    • scalar 값이 아니라, series 자체를 반환 할 수도 있다.

applymap for dataframe

  • apply 를 df 에 적용하지 않고 series 에 적용하는 효과

pandas built-in function

  • describe : 데이터의 요약 정보를 보여준다.
  • 💡 unique : series data 의 유일한 값을 list 로 반환.
    • 용례
    • 위의 용례처럼, unique 를 사용하여 label encoding 을 쉽게 할 수 있다.
반응형

'boostcamp > AI tech prep' 카테고리의 다른 글

Numerical Python - Numpy  (0) 2021.11.24
Module and Project  (0) 2021.11.14
Pythonic Code  (0) 2021.11.09