ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 인덱싱과 선택 - Series
    데이터 분석/Pandas 2020. 6. 13. 11:07

    NumPy 인덱싱 복습

    NumPy 배열의 값에 접근하고 그 값을 설정하고 수정하는 메서드와 도구들

    인덱싱    arr[2,1]    인덱스 단일 스칼라 

    슬라이싱    arr [:, 1:5]    인덱스 범위

    마스킹     arr[arr>0]    인덱스 조건을 전달

    팬시 인덱싱    arr[0, [1,5]]    인덱스 배열을 전달

     

    Series

    1. Series 의 데이터 선택

    1차원 NumPy 배열과 표준 파이썬 딕셔너리*처럼 동작한다. 

    더보기

    딕셔너리 설명

    사람은 누구든지 "이름" = "홍길동", "생일" = "몇 월 몇 일" 등으로 구별할 수 있다. 파이썬은 영리하게도 이러한 대응 관계를 나타낼 수 있는 자료형을 가지고 있다. 요즘 사용하는 대부분의 언어도 이러한 대응 관계를 나타내는 자료형을 갖고 있는데, 이를 연관 배열(Associative array) 또는 해시(Hash)라고 한다.

    파이썬에서는 이러한 자료형을 딕셔너리(Dictionary)라고 하는데, 단어 그대로 해석하면 사전이라는 뜻이다. 즉 "people"이라는 단어에 "사람", "baseball"이라는 단어에 "야구"라는 뜻이 부합되듯이 딕셔너리는 Key와 Value를 한 쌍으로 갖는 자료형이다. 예컨대 Key가 "baseball"이라면 Value는 "야구"가 될 것이다.

    딕셔너리는 리스트나 튜플처럼 순차적으로(sequential) 해당 요솟값을 구하지 않고 Key를 통해 Value를 얻는다. 이것이 바로 딕셔너리의 가장 큰 특징이다. baseball이라는 단어의 뜻을 찾기 위해 사전의 내용을 순차적으로 모두 검색하는 것이 아니라 baseball이라는 단어가 있는 곳만 펼쳐 보는 것이다.

     

    a. Pandas Series 객체 생성

     

    b. Pandas Series 객체: key 와 item(value) 의 조합

    Series 는 key 와 value (item) 쌍으로 이루어져 있다. key 를 호출하려면 keys 메서드를, item 을 호출하려면 items 메서드를 호출한다. 여기서 items 메서드는 Iterable 객체 - iterable 기능을 사용할 수 있는 객체 를 응답한ㄷ.

     

    c. 인덱싱

    key 는 명시적인 인덱스로 슬라이싱 할 때, [a:c] 의 경우 a,b,c 모두를 지칭한다. (명시적으로 지칭했으므로!)

    이는 그냥 자동부여되는 정수형 인덱스로 슬라이싱 할때, [0:2] 의 경우 0, 1 만 지칭하고, 2 를 불포함하는 정책과 상이하다. 

     

    마스킹, 팬시 인덱싱 등 NumPy 배열과 똑같은 기본 메커니즘으로 배열 형태의 아이템을 선택할 수 있다.

     

    d. 명시적 인덱스와 암묵적 인덱스

     

    정수형 인덱스를 사용하는 경우 이런 혼선이 발생할 수 있기 때문에, Pandas 는 특정 인덱싱 방식을 명시적으로 드러내는 몇 가지 특별한 인덱서 (indexer) 속성을 제공한다. 이는 함수 메서드가 아니라 Series 의 데이터에 대한 특정 슬라이싱 인터페이스를 드러내는 속성이다. 

    loc 은 명시적인 메서드, iloc 은 정수형 암묵적 메서드이다. 

    Ω

     

     

    댓글

Designed by Tistory.