-
[python] 파이썬을 이용한 빅데이터 실습 2 조건 색인Languages/python 2021. 9. 12. 21:32반응형
인덱스를 활용하여 내가 원하는 데이터 선택하기
조건 색인(불리언 색인)을 활용하여 내가 원하는 데이터 선택하기1
조건색인
불리언 색인 혹은 Fancy 색인
indexing
Series indexing
Series 전체 데이터 중에서 내가 원하는 데이터만 선택해 오는 방법임
1) 특정 인덱스 선택하기
숫자 인덱스와 인덱스 라벨 모두 가능
sample = pd.Series([85, 90, 75, 55, 45, 90, 95, 85, 90, 100], index = ['a','b','c','d','e','f','g','h','i','j']) sample a 85 b 90 c 75 d 55 e 45 f 90 g 95 h 85 i 90 j 100 dtype: int64
01. 숫자 인덱스인 경우
sample[2] 75
인덱스 2 는
0,1,2 >> 2
02.문자 인덱스인 경우
sample['c'] 75
2)여러 인덱스를 동시에 선택하기
주의점
여러 개 값을 한 번에 전달하는 경우
항상 리스트(List,[])로 담아서 전달해야 한다.
sample[['c','d','e','f','g']] c 75 d 55 e 45 f 90 g 95 dtype: int64
sample[[2,4,6]] c 75 e 45 g 95 dtype: int64
인덱스 슬라이싱
Series가 있을 때 색인하는 방법
슬라이싱으로 색인하는 방법
0,1,2,3
앞에 있는 4개의 항목을 선택하고 싶다면?
리스트 길이가 커지면 불편해져 슬라이싱 개념을 사용할 수 있다
슬라이싱으로 색인하는 방법
범위를 지정해주고 그 범위에 해당하는 데이터를 선택하는 방법
series[<start idx>:<end idx>]
문자 인덱스 경우
엔드 인덱스 포함
숫자 인덱스 경우
엔드 인덱스 미포함
sample[0:5] a 85 b 90 c 75 d 55 e 45 dtype: int64 sample[:5] a 85 b 90 c 75 d 55 e 45 dtype: int64 sample['a':'e'] a 85 b 90 c 75 d 55 e 45 dtype: int64
스타트 인덱스를 생락햐면
무조건 처음부터 슬라이싱을 하는 것
엔드 인덱스를 생략하면
무조건 데이터 끝까지 선택하겠다는 것
뒤에서부터 선택하는 마이너스 인덱스 또한 사용가능하다
sample[-3:] h 85 i 90 j 100 dtype: int64
조건색인(불리언 색인)
불리언 인덱스에 있는 true,false의 개수와 불리언 인덱스를 사용할
series 데이터 항목의 개수가 동일해야 사용할 수 있다
boolean_idx = [True, False, False, False, False, True, True, True, True, True] sample[boolean_idx] a 85 f 90 g 95 h 85 i 90 j 100 dtype: int64
90보다 큰 값 구하기
sample >= 90 a False b True c False d False e False f True g True h False i True j True dtype: bool
sample 데이터의 평균값보다 큰 데이터만 선택
sample.mean() 81.0 sample > sample.mean() a True b True c False d False e False f True g True h True i True j True dtype: bool boolean_idx =sample > sample.mean() sample[boolean_idx] a 85 b 90 f 90 g 95 h 85 i 90 j 100 dtype: int64
sample의 값이 50과 80사이의 데이터만 선택
cond_50_80 = (sample >=50) & (sample <=80) sample[cond_50_80] c 75 d 55 dtype: int64
반응형'Languages > python' 카테고리의 다른 글
[python] 파이썬을 이용한 빅 데이터 실습 4- DataFrame (0) 2021.10.30 [python] 파이썬을 이용한 빅데이터 실습 3 - DataFrame (0) 2021.09.12 [python] 파이썬을 이용한 빅데이터 실습1 - Series (2) 2021.09.12 [python] 상속과 클래스 (0) 2021.06.05 [python] 객체 지향 프로그래밍, 간단한 클래스의 정의와 활용, 내장 함수 isinstance, 매직 메소드(magic method) (0) 2021.06.05