본문 바로가기
5-3. Pandas 제공 자료구조/Series

[파이썬 Pandas] 시리즈(Series) 인덱싱 (1) 숫자 인덱스 사용

by 만다린망고 2020. 10. 21.
반응형

[파이썬 Pandas] 

시리즈(Series) 인덱싱 (1) 숫자 인덱스 사용



시리즈의 인덱싱과 수정방법을 알아봅시다.인덱싱은 특정 원소(들)에 접근하는 것입니다. 특정원소에 접근하면 그 값을 다른 값으로 바꿀 수 있기 때문에 원소의 수정도 함께 배울 것입니다.


먼저 시리즈를 하나 정의합시다. 


>>> A=pd.Series([1,2,3,4])

>>> A

0    1

1    2

2    3

3    4

dtype: int64




하나의 원소에 접근


시리즈 A의 첫번째 원소에 접근해보겠습니다. 대괄호를 사용합니다. 


>>> A[0]

1




구간을 이용하여 여러 원소에 접근


구간을 이용할 때는 콜론 : 을 사용합니다. 첫번째와 두번째 원소에 접근할 때는 어떻게 해야할까요? 아마 A[0:1]가 떠오르실 것입니다. 아쉽게도 결과는 아래와 같습니다. 첫번째 원소만 출력되었습니다. 


>>> A[0:1]

0    1

dtype: int64


파이썬 인덱싱에서 번호는 원소에 배정되지 않습니다. 예를들어 1,2,3 이라는 원소가 있다면 번호의 위치는 아래와 같습니다. 괄호가 번호입니다. 


(0) 1 (1) 2 (2)


첫번째와 두번째 원소에 접근하려면 번호로는 0:2 를 입력해주어야 합니다. 


>>> A[0:2]

0    1

1    2

dtype: int64




처음부터 또는 마지막까지 접근


처음부터 특정 원소까지, 혹은 특정 원소부터 끝까지 접근하는 방법입니다. 


첫번째 원소부터 3번째 원소까지 접근해봅시다. A[0:3] 으로 해도 되지만, 0 자리를 비워줘도 됩니다. 


>>> A[:3]

0    1

1    2

2    3

dtype: int64


이번에는 3번째 원소부터 마지막 원소까지 접근해봅시다. 3이 아니라 2를 입력해야 합니다. 위에서 설명했듯이 인덱싱 번호와 원소 번호는 다르다는 것을 기억합시다.  


>>> A[2:]

2    3

3    4

dtype: int64




불연속하게 접근


1번째 원소와 3번째 원소와 같이 인접하지 않은 여러 원소에 접근하고 싶다면 아래와 같이 입력하면 됩니다. 


>>> A[[0,2]]

0    1

2    3

dtype: int64




조건부 인덱싱


2보다 큰 원소에만 접근해봅시다.


>>> A[A>2]

2    3

3    4

dtype: int64


반응형

댓글