IT

파이썬 Indexing & Slicing 연습

astrocker 2020. 12. 28. 00:41
반응형

라이브러리 호출 & 데이터 예제 작성

import pandas as pd # 데이터 처리용 라이브러리
import numpy as np  # 수치해석용 라이브러리

sr=pd.Series([10,20,30,40,50],
             index=['a','b','c','d','e'],
             dtype=int,name='kor')           
sr
a    10
b    20
c    30
d    40
e    50
Name: kor, dtype: int64

Indexing & Slicing

sr[0] # 첫번째 값, index 타입이 문자로 고유 index번호(0~)와 다르기 때문에...
10

sr[2:4] # 3~4번째값만 slicing
a    10
b    20
c    30
Name: kor, dtype: int64

sr.loc['b'] # index값 기준
20

sr.loc[1:4] # index값과 type 달라 에러 발생
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-48-2c60cfc54dd9> in <module>()

sr.iloc[1:] # 고유 index 기준 (0~)
b    20
c    30
d    40
e    50
Name: kor, dtype: int64

# 같은 결과, 다른 표현
sr[[1,3,4]]
sr[['b','d','e']]                # [[]] 행렬 형태로 일치하는 index값만 출력
sr.loc[['b','d','e']]
sr[[False,True,False,True,True]] # boolean indexing : only True can output
2    10
3    20
4    30
5    40
6    50
Name: kor, dtype: int64

sr.index=[2,3,4,5,6] # index 값 변경(apply)
sr
2    10
3    20
4    30
5    40
6    50
Name: kor, dtype: int64

# 같은 결과
print(sr[2])     # index 값과 같은 숫자이면 index 값으로 매칭
sr.loc[2]
10
10

sr.iloc[2] # 고유 index 기준 (0~)
30

sr=sr*2 # element wise 원소별 연산
sr
a     20
b     40
c     60
d     80
e    100
Name: kor, dtype: int64

728x90
반응형