08_DataFrame 자료형

DataFrame의 자료형

  • 기본적으로 pandas는 데이터의 구조를 numpy의 ndarray를 사용하기 때문에 DataFrame의 자료형 역시 ndarray를 따른다.
  • 기본적인 type을 보면

    • float64: 실수형 자료형
    • int64: 정수형 자료형
    • boolean: bool 자료형
    • object: 파이선의 객체형 자료형(문자형만 담을 수도 있고 또는 문자형과 숫자형을 같이, 또는 list형을 담을 수 도 있다.
      • Pandas에서는 따로 독립적으로 문자형을 사용하지 않는데 그 이유는 numpy의 자료형을 그대로 사용하기 때문이다. numpy는 문자형을 Object형으로 인식함
  • 자료형 DataFrame에서 확인하기 위해서는 dtypes를 사용한다.

  • 자료형 변환을 위해서는 astype()을 사용한다.

    • 만약 int형 자료형을 문자로 변환한다면 df['co1'].astype(str)

Continue reading 08_DataFrame 자료형

07_select rows from columns value

select rows from where columns condition

  • Pandas에서도 sql처럼 특정 columns의 값들을 조건을 기반으로 row를 조회하고 싶어 한다.
    • 즉, select * from table where colume_name = some_value 같은 형태를 의미한다.
  • 위의 표현식을 dataframe을 사용할 경우에는 다음과 같이 표현 할 수 있다.
    • df.loc[df['column_name'] == some_value]
    • df.loc[df['column_name'] != some_value] -- not 조건
  • sql의 In 처럼 여러개의 값(multiple_values)을 선택하려면 isin을 사용한다.
    • df.loc[df['column_name'].isin(multiple_values)]
    • df.loc[~df['column_name'].isin(multiple_values)] -- isin을 사용할 경우 부정은 앞에 ~를 사용
    • loc[]의 인자로 boolean 값이 들어가는 boolean indexing의 형태임.
  • 만약에 조건이 2개 이상이면 & 연산자를 다음과 같이 사용한다.
    • df.loc[(df['column_name1'] == some_value1) & (df['column_name2'] == some_value2)]
    • df.loc[(df['column_name'] == some_value) & df['other_column'].isin(multiple_values)]

Continue reading 07_select rows from columns value

06_select_iloc

iloc

  • iloc는 Index Key(Position) 기반의 인덱싱 방법이다.iloc은 Position(위치) 기반이므로 위치 정수(index key)를 기반으로 행과 열을 지정해야 합니다
  • 직관적으로 loc 보다 iloc가 쉬움. 행렬처럼 생각하면 됨
  • iloc docs를 보면 기본적으로는 라벨 인덱싱지만, boolean 배열이 함께 사용될 수 있다라고 정의되어 있다
  • row indexes, indexes label로 허용되는 인풋은 다음과 같다.
    • 1, 4, 5 와 같은 하나의 단일 인덱스 정수
    • [1,4]와 같은 인덱스 리스트나 배열
    • 1:4 와 같이 인덱스 표현되는 slice 객체(1:4는 [1,2,3,4]와 같은 의미임)
    • boolean 배열

Continue reading 06_select_iloc

05_select_loc

Data Assecss 메소드

  • Pandas에는 다음과 같은 data access 메소드 들이 있음 (정확히는 메소드가 아니고 Attribute 임)

    • loc: Label 기반으로
    • iloc: Index key(Integer Position) 기반으로
    • ix:Label과 Index Key 혼합 기반으로
  • 가장 사용이 많이 되는 메소드는 loc임

Continue reading 05_select_loc

04_Index Object

Index Objects

  • Index Objects은 Index와 columns의 label과 메타정보를 저장하는 객체이다(The basic object storing axis labels for all pandas objects)
  • Series나 DataFrame을 생성할 때 label의 array는 자동적으로 Index 객체으로 변환되어 매핑된다.
  • 순위가 있고 slicing이 가능한 arary (Immutable ndarray implementing an ordered, sliceable set)
    • Index Object의 slicing을 가능하게 하는 index key(location)와 이에 대응하는 label이 있다.
    • label은 array로 표현되고 label이 유니크할 필요는 없다.
  • Index 객체는 Pandas에서 가장 어려운 개념에 속한다. Python for Data Analysis에 대부분에 독자는 Index객체에 대해 자세히 몰라도 되지만 Index 객체는 pandas의 데이터 모델 중에서 중요한 부분이라 노트 표시 되어 있다.
  • Index Objects docs를 보면 Index Objects 역시 여러가지의 메소드와 속성을 가지고 있는데 DataFrame 또는 Series의 그것들과 유사함을 확인할 수 있다.

  • 주요 메소드과 속성을 살펴 보면

    • Index(): Index객체를 생성함
    • df.index: DataFrame내의 index객체를 반환
    • df.columns: DataFrame내의 columns Index객체를 반환
    • get_loc:Label의 index key(위치, position)를 반환

Continue reading 04_Index Object

Pagination


© 2017. All rights reserved.

Powered by ZooFighter v0.12