2015년 10월 13일 화요일

(K)간단하지만 가장 중요한 Python Pandas의내용

Pandas를 공부하기 위하여 검색한 많은 Youtube 비디오 중 가장 실질적인 정보가 있었던 동영상을 반복해서 보면서 정리한 내용.
강연자는 현재 OpenMail 이라는 회사의 CTO로서 전 Google 엔지니어.

* 요약: Pandas 는 데이터 분석을 위한 가장 강력한 Tool 이며, Python을 처음 배우는 사람은 꼭 Pandas를 먼저 배워야 한다.

* 개요
  1. 배포판의 종류
  2. 데이터 읽는 법
  3. 데이터 다루는 법
  4. 그래프(차트) 그리는 법

* 세부 내용
   1. 배포판의 종류
      a. Anaconda - python을 사용할 수 있도록 환경을 구축해 주는 도구
      b. Ipython Notebook - 개별 코드를 실행할 수 있게 하여 설명에 최적화된 도구
   2. Data Reading
      a. DataFrame(2차원) 형식을 사용한다.(Series는 1차원 이며 Panel은 3차원 이다.)
      b. read_csv("file address") 함수를 사용하여 csv 파일을 읽어 들인다. <- 아주 간단
   3. Data Munging - csv 파일의 내용을 2차원의 배열로 저장하여(DataFrame)으로 가지고 있으므로 이 데이터의 일부분을 선택할 수 있다.
      a. 기본적이면서 꼭 필요한 방법들
         i. select(indexing, 선택하는 것)   
            1) .ix[]   - 가장 많이 쓰는 indexing
            2) .loc[] - label 을 사용한 indexing, .ix[] 다음으로 많이 사용
            3) .iloc[] - integer(정수) 주소를 사용한 indexing
            4) .xs()   - multi 로 indexing
            5) .iat[], at[] - 잘 사용하지 않으며 자세한 내용은 업데이트 필요
         ii. filter
            1) 특정 column을 특정 condition으로 filtering 할 수 있다.
            2) boolean indexing(row의 개수와 같은 크기를 가진 참,거짓 array로 선택 가능)
       b. 그 외
          i. update(내용 업데이트 시 사용)
             1) .loc[]
          ii. insert(내용을 추가할 때)
             1) 사용하지 않는 것을 권장, 자세한 내용은 업데이트 필요
          iii.  map(Series), append(concatenate to dataframe)., join(add columns to different dataframe), group(grouping row or column), summarize agg(), sorting, clean na(dropna, fillna) drop duplicates, clean outliers, conform 잘 이해 안가지만 reindex 하거나 resample 하거나 등등, bin, rotate 멀티 인덱스 등 unstack 도 할 수 있다.(테이블로 바꾸어 버리는 것) unstack 두번하면 rotate 된다.

   4. Graph Drawing - 위 3번의 Data Munging으로 필요한 데이터만을 추출한 다음 matplotlib를 사용하여 다양한 그림을 그릴 수 있다.

*추가 - 2016-01-17 더 간단한 Indexing 정리

Different Choices for Indexing
    Selection by Label, Boolean Array
        single, array, slice of label and boolean indexing
         .loc - location
     Selection by Position
          single, array, slice of integer index and boolean indexing
         .iloc - integer location
     Advanced Indexing and Advanced Hierarchical.
.          Label ->(if not) Index Selection but if the label is integer, only   Label Based Selection

Basics
    만약 [] 만을 사용 한다면 그 이전 level(Series->값(scalar), Daraframe->Series, Panel->Dataframe) 의 값을 가져올 수 있다.

      

댓글 없음:

댓글 쓰기