SlideShare una empresa de Scribd logo
1 de 74
PYTHON
DATA
검색방법
Moon Yong Joon
1
1. GETITEM
2. GET ATTRIBUTE
3. 내장 타입
4. PANDAS
목차
2
1. GETITEM
Moon Yong Joon
3
__GETITEM__
Moon Yong Joon
4
Special method : 2/3버전 통합
특징
Sequence 타입 안에 들어있는 원소를 접근하는
법
index
slice
실제 원소에 값을 직접 접근하는 법
특정 원소들을 가지는 부분 집합으
로 검색하는 방법
Container 내부 조회/갱신/삭제
List,dict 에 대한 원소를 조회, 갱신, 삭제를 추가하
는 메소드, list는 index에 범위내에서만 처리됨
object.__getitem__(self, key)
object.__setitem__(self, key, value)
object.__delitem__(self, key)
검색
생성/변경
삭제
__getitem__ 이해
__getiem__ 메소드는 인스턴스 내부의 항목을
index나 slice([ ] 연산자)로 처리해 결과를 리턴
8
INDEXING
Moon Yong Joon
9
단건 항목 검색 : list10
객체 내부 조회
Indexing은 단건 조회를 하며 index 범위를 아닐
경우 index error 처리
11
객체 내부 조회 : itemgetter
Indexing은 단건 조회를 하며 index 범위를 아닐
경우 index error 처리
12
복수건 항목검색 : list13
객체 내부 조회 : itemgetter
Indexing은 인덱스를 나열해서 복수건 조회
14
단건 항목검색 : dict15
객체 내부 조회
Indexing은 단건 조회를 하며 key 범위를 아닐 경
우 key error 처리가 발생하므로 get 메소드 처리
16
객체 내부 조회 : itemgetter
Indexing은 단건 조회를 하며 key 범위를 아닐 경
우 key error 처리
17
복수 항목건 검색 : dict18
객체 내부 조회 : itemgetter
Indexing은 key를 나열해서 범위내의 복수건 조회
19
함수 검색20
itemgetter : 함수 호출
함수를 검색한 경우 이를 실행할 수 있도록 ( ) 호
출연산자를 처리
21
defaultdict 타입22
defaultdict 클래스
defaultdict 클래스는 인스턴스를 만들고 이를 기
반으로 내부의 원소를 추가할 수 있음
임의의 키를 검색시 Default 값이 출력됨
23
defaultdict 클래스 내부 구조
defaultdict 에 선언한 속성들은 실제 클래스 내부
에 생기지 않아 객체 내부에서만 관리됨
24
itemgetter
Defaultdict 타입은 [ ] 연산자로 조회가 가능하므로
itemgetter를 이용해서 내부를 검색
25
사용자 클래스 정의26
사용자 정의 클래스 이용
Indexing 처리 방식을 클래스를 이용해서 정의 후
에 사용하기
27
SLICING
Moon Yong Joon
28
Slicing 검색29
내장 객체 조회
Slicing은 여러 건을 조회도 가능하지만 결과는 별
도의 객체를 만듦
30
Slicing class 이용 검색31
내장 객체 조회
Slicing 조건을 slice 인스턴스로 만들어서 객체를
조회하도록 함
32
2. GET
ATTRIBUTE
Moon Yong Joon
33
__GETATTRIBUTE__
Moon Yong Joon
34
__getattribute__ 이해
__getattribute__ 메소드는 인스턴스 내부의 속성
을(. 연산자)로 처리해 결과를 리턴
35
속성 조회
Moon Yong Joon
36
단건 항목 조회37
객체 내부 조회 : .
. 연사자를 이용한 내부 속성 단건 조회 및 범위가
벗어나면 attribute error
38
객체 내부 조회 : getattr 함수
. 연사자를 이용해서 속성을 조회시 없는 경우 오류
가 발생하므로 getattr 함수를 이용해서 처리
39
객체 내부 조회 : attrgetter
. 연사자를 대체하는 attrgetter 메소드를 이용한
내부 속성 단건 조회
40
복수 항목건 조회41
객체 내부 조회 : attrgetter
. 연사자를 대체하는 attrgetter 메소드를 이용한
내부 속성 단건 조회
42
메소드 검색43
Attrgetter : 메소드 호출
메소드 검색한 경우 이를 실행할 수 있도록 ( ) 호출
연산자를 처리
44
namedtuple45
Namedtuple 구조 이해
namedtuple은 함수로 새로운 클래스를 만들고
이 클래스를 기반으로 인스턴스를 생성
46
Namedtuple로 만든 클래스 구조
namedtuple에 선언한 속성들은 실제 클래스 내부
에 생김
47
attrgetter
namedtuple 타입은 .연산자로 조회가 가능하므로
attrgetter를 이용해서 내부를 검색
48
사용자 클래스 정의49
사용자 정의 클래스 이용
. 연산자(__getattribute__) 처리 방식을 클래스를
이용해서 정의 후에 사용하기
50
3. 내장 타입
Moon Yong Joon
51
내장 타입
내장 타입 비교
String 타입을 제외하고 index와 slice는 다른 타
입으로 처리됨
Bytearray
내장 타입 : Bytearray
Bytearray 타입도 index로 접근해서 결과를 조회
결과값은 숫자로 표시
내장 타입 :Bytearray 슬라이싱
Bytearray 타입도 슬라이싱 처리하고 슬라이스된
부분을 갱신
Array.array
Array 모듈
Array 모듈에서 array 객체를 생성해도 index와
slicing은 별도의 타입으로 처리
4. PANDAS
Moon Yong Joon
59
Series index/slice
Series 조회 : index
List처럼 인덱스를 조회해서 원소를 검색
Series 조회 : slice
Series의 slice는 순서를 표시하므로 index가 문자
여도 가능
Series 조회 : index 직접 대응
Series의 ndarray 처럼 조회조건에 index를 리스트
넣어 검색 가능
Series 조회 : 논리식
Series의 ndarray 처럼 조회조건도 논리식으로 처
리가 가능
list타입을 통한 index
Pandas 모듈의 데이터 타입(Series, DataFrame 등)
에서는 key 값을 리스트 타입으로 호출시 해당값을
처리
검색결과가 view
Pandas 모듈의 데이터 타입(Series, DataFrame 등)
에서 Slice는 기존 타입의 view를 보여주므로 갱신
하면 원 객체를 변경함
DataFrame index/slice
DataFrame 단일 열 검색
DataFrame은 단일 열을 인덱스 방식([ ])
행
열
col1
row1row2row3
col2
DataFrame 멀티 열 검색
DataFrame은 멀티 열은 슬라이스 방식([ [ , ] ])
을 사용하지만 칼럼명을 리스트로 작성해서 검색
행
열
col1
row1row2row3
col2
DataFrame 단일 행 검색
DataFrame은 단일 행을 인덱스 방식([ ])
행
열
col1
row1row2row3
col2
DataFrame 멀티 행 검색
DataFrame은 멀티행을 슬라이싱 방식([ : ])을 사용
하지만 이름으로 검색시에는 해당 이름까지 포함해
서 처리
행
열
col1
row1row2row3
col2
DataFrame 행과열 검색 1
DataFrame은 ix 속성을 이용해서 행과 열을 동시
에 검색 ([ 행(슬라이싱 : ), 칼럼(명) ])
행
열
col1
row1row2row3
col2
DataFrame 행과열 검색 2
DataFrame은 ix 속성을 이용해서 행과 복수의 열
을 동시에 검색 ([ 행(슬라이싱 : ), [칼럼명,칼럼명 ])
행
열
col1
row1row2row3
col2
row 접근시 슬라이싱 계산차이
행 기준으로 접근시 DataFrame으로 슬라이싱과 속성에
서 슬라이싱하는 경우 실제 출력되는 개수가 다름

Más contenido relacionado

La actualidad más candente

파이썬 Special method 이해하기
파이썬 Special method 이해하기파이썬 Special method 이해하기
파이썬 Special method 이해하기Yong Joon Moon
 
파이썬 Descriptor이해하기 20160403
파이썬 Descriptor이해하기 20160403파이썬 Descriptor이해하기 20160403
파이썬 Descriptor이해하기 20160403Yong Joon Moon
 
파이썬 객체 클래스 이해하기
파이썬  객체 클래스 이해하기파이썬  객체 클래스 이해하기
파이썬 객체 클래스 이해하기Yong Joon Moon
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 Yong Joon Moon
 
파이썬정리 20160130
파이썬정리 20160130파이썬정리 20160130
파이썬정리 20160130Yong Joon Moon
 
python data model 이해하기
python data model 이해하기python data model 이해하기
python data model 이해하기Yong Joon Moon
 
Jupyter notebook 이해하기
Jupyter notebook 이해하기 Jupyter notebook 이해하기
Jupyter notebook 이해하기 Yong Joon Moon
 
파이썬 class 및 인스턴스 생성 이해하기
파이썬 class 및 인스턴스 생성 이해하기파이썬 class 및 인스턴스 생성 이해하기
파이썬 class 및 인스턴스 생성 이해하기Yong Joon Moon
 
파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기Yong Joon Moon
 
파이썬 크롤링 모듈
파이썬 크롤링 모듈파이썬 크롤링 모듈
파이썬 크롤링 모듈Yong Joon Moon
 
파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310Yong Joon Moon
 
파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304Yong Joon Moon
 
파이썬 iterator generator 이해하기
파이썬 iterator generator 이해하기파이썬 iterator generator 이해하기
파이썬 iterator generator 이해하기Yong Joon Moon
 
Scala type class pattern
Scala type class patternScala type class pattern
Scala type class patternYong Joon Moon
 
파이썬 함수 이해하기
파이썬 함수 이해하기 파이썬 함수 이해하기
파이썬 함수 이해하기 Yong Joon Moon
 
엘라스틱서치 이해하기 20160612
엘라스틱서치 이해하기 20160612엘라스틱서치 이해하기 20160612
엘라스틱서치 이해하기 20160612Yong Joon Moon
 
Python+numpy pandas 4편
Python+numpy pandas 4편Python+numpy pandas 4편
Python+numpy pandas 4편Yong Joon Moon
 
파이썬+객체지향+이해하기 20160131
파이썬+객체지향+이해하기 20160131파이썬+객체지향+이해하기 20160131
파이썬+객체지향+이해하기 20160131Yong Joon Moon
 
파이썬+함수 데코레이터+이해하기 20160229
파이썬+함수 데코레이터+이해하기 20160229파이썬+함수 데코레이터+이해하기 20160229
파이썬+함수 데코레이터+이해하기 20160229Yong Joon Moon
 
파이썬+Json+이해하기 20160301
파이썬+Json+이해하기 20160301파이썬+Json+이해하기 20160301
파이썬+Json+이해하기 20160301Yong Joon Moon
 

La actualidad más candente (20)

파이썬 Special method 이해하기
파이썬 Special method 이해하기파이썬 Special method 이해하기
파이썬 Special method 이해하기
 
파이썬 Descriptor이해하기 20160403
파이썬 Descriptor이해하기 20160403파이썬 Descriptor이해하기 20160403
파이썬 Descriptor이해하기 20160403
 
파이썬 객체 클래스 이해하기
파이썬  객체 클래스 이해하기파이썬  객체 클래스 이해하기
파이썬 객체 클래스 이해하기
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기
 
파이썬정리 20160130
파이썬정리 20160130파이썬정리 20160130
파이썬정리 20160130
 
python data model 이해하기
python data model 이해하기python data model 이해하기
python data model 이해하기
 
Jupyter notebook 이해하기
Jupyter notebook 이해하기 Jupyter notebook 이해하기
Jupyter notebook 이해하기
 
파이썬 class 및 인스턴스 생성 이해하기
파이썬 class 및 인스턴스 생성 이해하기파이썬 class 및 인스턴스 생성 이해하기
파이썬 class 및 인스턴스 생성 이해하기
 
파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기
 
파이썬 크롤링 모듈
파이썬 크롤링 모듈파이썬 크롤링 모듈
파이썬 크롤링 모듈
 
파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310
 
파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304파이썬+주요+용어+정리 20160304
파이썬+주요+용어+정리 20160304
 
파이썬 iterator generator 이해하기
파이썬 iterator generator 이해하기파이썬 iterator generator 이해하기
파이썬 iterator generator 이해하기
 
Scala type class pattern
Scala type class patternScala type class pattern
Scala type class pattern
 
파이썬 함수 이해하기
파이썬 함수 이해하기 파이썬 함수 이해하기
파이썬 함수 이해하기
 
엘라스틱서치 이해하기 20160612
엘라스틱서치 이해하기 20160612엘라스틱서치 이해하기 20160612
엘라스틱서치 이해하기 20160612
 
Python+numpy pandas 4편
Python+numpy pandas 4편Python+numpy pandas 4편
Python+numpy pandas 4편
 
파이썬+객체지향+이해하기 20160131
파이썬+객체지향+이해하기 20160131파이썬+객체지향+이해하기 20160131
파이썬+객체지향+이해하기 20160131
 
파이썬+함수 데코레이터+이해하기 20160229
파이썬+함수 데코레이터+이해하기 20160229파이썬+함수 데코레이터+이해하기 20160229
파이썬+함수 데코레이터+이해하기 20160229
 
파이썬+Json+이해하기 20160301
파이썬+Json+이해하기 20160301파이썬+Json+이해하기 20160301
파이썬+Json+이해하기 20160301
 

Destacado

Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Yong Joon Moon
 
파이썬 엑셀_csv 처리하기
파이썬 엑셀_csv 처리하기파이썬 엑셀_csv 처리하기
파이썬 엑셀_csv 처리하기Yong Joon Moon
 
Python 이해하기 20160815
Python 이해하기 20160815Python 이해하기 20160815
Python 이해하기 20160815Yong Joon Moon
 
python 수학이해하기
python 수학이해하기python 수학이해하기
python 수학이해하기Yong Joon Moon
 
파이썬 확률과 통계 기초 이해하기
파이썬 확률과 통계 기초 이해하기파이썬 확률과 통계 기초 이해하기
파이썬 확률과 통계 기초 이해하기Yong Joon Moon
 
파이썬 Collections 모듈 이해하기
파이썬 Collections 모듈 이해하기파이썬 Collections 모듈 이해하기
파이썬 Collections 모듈 이해하기Yong Joon Moon
 
텐서플로우 기초 이해하기
텐서플로우 기초 이해하기 텐서플로우 기초 이해하기
텐서플로우 기초 이해하기 Yong Joon Moon
 
Python+numpy pandas 2편
Python+numpy pandas 2편Python+numpy pandas 2편
Python+numpy pandas 2편Yong Joon Moon
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기Yong Joon Moon
 
Python+numpy pandas 1편
Python+numpy pandas 1편Python+numpy pandas 1편
Python+numpy pandas 1편Yong Joon Moon
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기Yong Joon Moon
 
Jupyter notebok tensorboard 실행하기_20160706
Jupyter notebok tensorboard 실행하기_20160706Jupyter notebok tensorboard 실행하기_20160706
Jupyter notebok tensorboard 실행하기_20160706Yong Joon Moon
 
Python+numpy pandas 3편
Python+numpy pandas 3편Python+numpy pandas 3편
Python+numpy pandas 3편Yong Joon Moon
 
소프트웨어와 인문학
소프트웨어와 인문학 소프트웨어와 인문학
소프트웨어와 인문학 Yong Joon Moon
 
확률 통계 (파이썬)
확률 통계 (파이썬)확률 통계 (파이썬)
확률 통계 (파이썬)Yong Joon Moon
 
Python Sympy 모듈 이해하기
Python Sympy 모듈 이해하기Python Sympy 모듈 이해하기
Python Sympy 모듈 이해하기Yong Joon Moon
 

Destacado (19)

Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815
 
파이썬 엑셀_csv 처리하기
파이썬 엑셀_csv 처리하기파이썬 엑셀_csv 처리하기
파이썬 엑셀_csv 처리하기
 
Python 이해하기 20160815
Python 이해하기 20160815Python 이해하기 20160815
Python 이해하기 20160815
 
python 수학이해하기
python 수학이해하기python 수학이해하기
python 수학이해하기
 
파이썬 확률과 통계 기초 이해하기
파이썬 확률과 통계 기초 이해하기파이썬 확률과 통계 기초 이해하기
파이썬 확률과 통계 기초 이해하기
 
파이썬 Collections 모듈 이해하기
파이썬 Collections 모듈 이해하기파이썬 Collections 모듈 이해하기
파이썬 Collections 모듈 이해하기
 
텐서플로우 기초 이해하기
텐서플로우 기초 이해하기 텐서플로우 기초 이해하기
텐서플로우 기초 이해하기
 
Python+numpy pandas 2편
Python+numpy pandas 2편Python+numpy pandas 2편
Python+numpy pandas 2편
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기
 
Python+numpy pandas 1편
Python+numpy pandas 1편Python+numpy pandas 1편
Python+numpy pandas 1편
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기
 
Jupyter notebok tensorboard 실행하기_20160706
Jupyter notebok tensorboard 실행하기_20160706Jupyter notebok tensorboard 실행하기_20160706
Jupyter notebok tensorboard 실행하기_20160706
 
Python+numpy pandas 3편
Python+numpy pandas 3편Python+numpy pandas 3편
Python+numpy pandas 3편
 
소프트웨어와 인문학
소프트웨어와 인문학 소프트웨어와 인문학
소프트웨어와 인문학
 
자본주의
자본주의자본주의
자본주의
 
pyOpenCL 입문
pyOpenCL 입문pyOpenCL 입문
pyOpenCL 입문
 
Advanced Python : Decorators
Advanced Python : DecoratorsAdvanced Python : Decorators
Advanced Python : Decorators
 
확률 통계 (파이썬)
확률 통계 (파이썬)확률 통계 (파이썬)
확률 통계 (파이썬)
 
Python Sympy 모듈 이해하기
Python Sympy 모듈 이해하기Python Sympy 모듈 이해하기
Python Sympy 모듈 이해하기
 

Más de Yong Joon Moon

Scala companion object
Scala companion objectScala companion object
Scala companion objectYong Joon Moon
 
Scala block expression
Scala block expressionScala block expression
Scala block expressionYong Joon Moon
 
Scala self type inheritance
Scala self type inheritanceScala self type inheritance
Scala self type inheritanceYong Joon Moon
 
Scala nested function generic function
Scala nested function generic functionScala nested function generic function
Scala nested function generic functionYong Joon Moon
 
스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understandingYong Joon Moon
 

Más de Yong Joon Moon (14)

rust ownership
rust ownership rust ownership
rust ownership
 
Scala namespace scope
Scala namespace scopeScala namespace scope
Scala namespace scope
 
Scala companion object
Scala companion objectScala companion object
Scala companion object
 
Scala block expression
Scala block expressionScala block expression
Scala block expression
 
Scala self type inheritance
Scala self type inheritanceScala self type inheritance
Scala self type inheritance
 
Scala variable
Scala variableScala variable
Scala variable
 
Scala match pattern
Scala match patternScala match pattern
Scala match pattern
 
Scala implicit
Scala implicitScala implicit
Scala implicit
 
Scala type args
Scala type argsScala type args
Scala type args
 
Scala trait usage
Scala trait usageScala trait usage
Scala trait usage
 
Scala nested function generic function
Scala nested function generic functionScala nested function generic function
Scala nested function generic function
 
Scala dir processing
Scala dir processingScala dir processing
Scala dir processing
 
Scala syntax function
Scala syntax functionScala syntax function
Scala syntax function
 
스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding
 

파이썬 내부 데이터 검색 방법