Python/pandas

1-2. Pandas.Series - index를 이용한 데이터 다루기

2vs5_L 2022. 3. 12. 16:14

1-1에서는 pd.Series의 parameter에 대해 설명하였다. 

pandas.Series에 대한 선언과 parameter를 모른다면 다음의 링크에 들어가서 공부하고 온다면 좋다.

https://2vs5.tistory.com/6

 

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

 

위의 방법들을 이용하여 원하는 방식대로 데이터를 추출하는 것이 가능한다.