728x90
반응형
SMALL
import pandas as pd
import numpy as np
data = {'aa':10,'bb':20,'cc':30,'dd':40, 'ee':50}
sr = pd.Series(data, name='국어점수')
sr
[OUT] :
aa 10
bb 20
cc 30
dd 40
ee 50
Name: 국어점수, dtype: int64
인덱싱
sr[0] # sr의 제일 처음 값 가져오기
[OUT] :
10
sr[-1] # sr의 제일 마지막 값 가져오기
[OUT] :
50
sr['aa'] # sr.aa -> 가능하지만 권장하진 않음. 속성명과 인덱스가 중복될 수 있으므로.
[OUT] :
10
sr['cc']
[OUT] :
30
sr[[0,2,3]]
[OUT] :
aa 10
cc 30
dd 40
Name: 국어점수, dtype: int64
sr[['aa','cc','dd']]
[OUT] :
aa 10
cc 30
dd 40
Name: 국어점수, dtype: int64
슬라이싱
sr[1:4]
[OUT] :
bb 20
cc 30
dd 40
Name: 국어점수, dtype: int64
sr[:-1]
[OUT] :
aa 10
bb 20
cc 30
dd 40
Name: 국어점수, dtype: int64
sr['aa':'cc'] # 부여된 인덱스로 슬라이싱은 끝인덱스 포함!
[OUT] :
aa 10
bb 20
cc 30
Name: 국어점수, dtype: int64
iloc 속성(zero base 기준) -> 부여된 인덱스 안됨
sr.iloc[0]
[OUT] :
10
sr.iloc[-1]
[OUT] :
50
sr.iloc[1:]
[OUT] :
bb 20
cc 30
dd 40
ee 50
Name: 국어점수, dtype: int64
loc속성(부여된 인덱스 기준) -> 끝 인덱스 포함
# sr.loc[0] -> error
sr.loc['aa']
[OUT] :
10
sr.loc['bb':]
[OUT] :
bb 20
cc 30
dd 40
ee 50
Name: 국어점수, dtype: int64
sr.loc['bb':'dd']
[OUT] :
bb 20
cc 30
dd 40
Name: 국어점수, dtype: int64
boolean indexing
sr[[True,False,False,True,True]]
[OUT] :
aa 10
dd 40
ee 50
Name: 국어점수, dtype: int64
loc 또는 iloc을 반드시 사용해야 할 때 -> 인덱스가 숫자인 경우
sr.index = [2,3,4,5,6]
sr
[OUT] :
2 10
3 20
4 30
5 40
6 50
Name: 국어점수, dtype: int64
sr.index # 인덱스가 문자가 아닌 숫자
[OUT] :
Int64Index([2, 3, 4, 5, 6], dtype='int64')
sr[2] # 부여된 인덱스, 제로베이스 둘 다 가능 (10,30) -> 충돌(부여된 인덱스 기준으로 처리함)
[OUT] :
10
sr.iloc[0]
[OUT] :
10
sr.iloc[-1]
[OUT] :
50
sr.loc[2]
[OUT] :
10
sr.loc[3]
[OUT] :
20
sr.loc[2:4]
[OUT] :
2 10
3 20
4 30
Name: 국어점수, dtype: int64
sr.iloc[0:2]
[OUT] :
2 10
3 20
Name: 국어점수, dtype: int64
Review
- loc과 iloc 매우 중요
728x90
반응형
LIST