안녕하세요 jay입니다.
오늘은 Pandas Series의 slicing하는 법에 대해 알아보도록 하겠습니다.
Series Slicing
우리가 데이터를 받아오면 꼭 모든 데이터를 사용하는 것은 아닙니다.
데이터의 어떤 부분은 분명 우리가 원하지 않은 데이터일 것이며,
slicing은 그 부분을 잘라내기 위한 기법입니다.
Series에서 slicing은 크게 index번호로 slicing하기, index 명을 사용해서 slicing하기
2가지 방법이 있습니다. 아래 예제들을 통해 확인해보도록 하겠습니다.
우리가 데이터를 받아오면 꼭 모든 데이터를 사용하는 것은 아닙니다.
데이터의 어떤 부분은 분명 우리가 원하지 않은 데이터일 것이며,
slicing은 그 부분을 잘라내기 위한 기법입니다.
Series에서 slicing은 크게 index번호로 slicing하기, index 명을 사용해서 slicing하기
2가지 방법이 있습니다. 아래 예제들을 통해 확인해보도록 하겠습니다.
import pandas as pd import numpy as np name = np.array(["LEE","KIM","OH","JUNG","SHIN"]) score = np.array([40,80,60,90,50]) s1 = pd.Series(score2, index=name2) print(s1) """ LEE 40 KIM 80 OH 60 JUNG 90 SHIN 50 dtype: int64 """ # index 번호로 slicing print(s1[2]) # 60(인덱스가 2인 값) print(s1[2:]) # 인덱스 2부터 끝까지 key,value 출력 """ OH 60 JUNG 90 SHIN 50 dtype: int64 """ print(s1[::2]) # 인덱스 처음부터 끝까지 2간격으로 index, value출력 """ LEE 40 OH 60 SHIN 50 dtype: int64 """ # index 명을 사용해서 slicing print(s1) """ LEE 40 KIM 80 OH 60 JUNG 90 SHIN 50 dtype: int64 """ print(s1["LEE"]) # 40, 인덱스명을 통해서 value 출력 # 첫 인덱스명 ~ 끝인덱스명 포함해서 index, value출력 print(s1["LEE":"OH"]) """ LEE 40 KIM 80 OH 60 dtype: int64 """ print(s1[:"JUNG"]) """ LEE 40 KIM 80 OH 60 JUNG 90 dtype: int64 """ # -1 간격으로 SHIN부터 끝까지 출력 => 역순 출력 print(s1["SHIN"::-1]) """ SHIN 50 JUNG 90 OH 60 KIM 80 LEE 40 dtype: int64 """
index로 slicing을 할 때 :통해 범위를 지정하는 경우, 끝번호는 포함하지 않습니다.
하지만 index명으로 slicing을 할 때 :끝 index명은 포함이 됩니다.
하지만 index명으로 slicing을 할 때 :끝 index명은 포함이 됩니다.
댓글
댓글 쓰기