1-2. Pandas.Series - index를 이용한 데이터 다루기
1-1에서는 pd.Series의 parameter에 대해 설명하였다.
pandas.Series에 대한 선언과 parameter를 모른다면 다음의 링크에 들어가서 공부하고 온다면 좋다.
1-1. Pandas.Series - parameter 설명
Series는 일련의 객체를 담을 수 있는 1차원 배열 같은 자료구조이다. 또한 배열의 데이터와 연관된 이름인 index를 가지고 있다. Pandas의 series의 parameter는 다음과 같다. class pandas.Series(data = None,..
2vs5.tistory.com
이번에는 pd.Pandas를 사용할 때 index를 이용하여 데이터를 다루는 방법을 알아보겠다.
1. index를 통한 데이터 획득
앞서 우리는 다음과 같이 선언한 pd.Series의 index를 통하여 값을 가져 올 수 있는 다양한 방법이 있는 것을 알고 있다.
python의 dictionary의 key값처럼 index의 값을 입력하면 데이터를 얻을 수 있다.
a = pd.Series([1,2,3,4,5], index = ['a', 'b', 'c', 'd', 'e'])
a['a']
#결과
1
array_like형 데이터가 index로 들어가면 관련 데이터로만 이루어진 Series형 데이터를 반환한다.
b = np.array(['c', 'a', 'b'])
a[b]
#결과
c 3
a 1
b 2
dtype: int64
python의 slicing처럼 index또한 다음과 같이 사용 가능하다.
a['a':'c']
#결과
a 1
b 2
c 3
dtype: int64
2. index를 이용한 산술연산
파이썬에서 쓰는 산술 연산자는 pd.Series에서 사용이 가능하다. 다음을 보면 알수 있다.
data = [1,2,3,4,5]
a = pd.Series(data, index = ['a', 'b', 'c', 'd', 'e'])
a > 1
#결과
a False
b True
c True
d True
e True
dtype: bool
Series형 데이터인 a를 이용하여 a > 1을 사용하면 a에 대한 index를 이용하여 1보다 큰 값에는 True 작은 값에는 False인 bool형 데이터를 갖는 Series형 데이터를 반환한다. Series형 데이터 또한 array_like형 데이터 이므로 index로 들어가는게 가능하다.
이를 index값으로 사용하여 새로운 index값으로 입력한다면 우리는 Series형 데이터에서 원하는 데이터만 습득가능하다. 즉 , 원하는 Series 데이터에서 산술 연산자를 통해 원하는 값만을 습득 가능하다.
다음의 예시는 a에 들어있는 데이터에서 1보다 큰 값을 얻는 것이다.
data = [1,2,3,4,5]
a = pd.Series(data, index = ['a', 'b', 'c', 'd', 'e'])
a[a > 1]
#결과
b 2
c 3
d 4
e 5
dtype: int64
위의 방법들을 이용하여 원하는 방식대로 데이터를 추출하는 것이 가능한다.