판다스 - 시리즈 인덱싱, 슬라이싱, 수정, 추가, 삭제

ahncheer·2025년 2월 9일

python

목록 보기
18/25
post-thumbnail

1. 시리즈 인덱싱

1-1. 위치 기반 접근 > .iloc[0]

정수만 사용 가능. iloc[-1] 로 하면 에러가 남

from pandas import Series

data1 = {
    '메로나' : 1000,
    '구구콘' : 2000,
    '하겐다즈' : 4000
}
s1 = Series(data1)
print('\n\ns1 : \n', s1)
print('s1.iloc[0] : ', s1.iloc[0])
print('s1.iloc[1] : ', s1.iloc[1])
print('s1.iloc[2] : ', s1.iloc[2])

1-2. 특정 값에 접근하기

print("s1['메로나'] : ", s1['메로나'])
print("s1.loc['메로나'] : ", s1.loc['메로나'])
# 아래는 인덱스가 메로나, 구구콘, 하덴다즈가 되어 에러발생
# print("s1[0] : ", s1[0]) 

1-3. 레이블 기반 접근 > .index[0]

index의 값을 뽑아서, Series의 값 가져오기

print('\n\ns1 : \n', s1)
print('인덱스 찾기 > s1.index[0] : ', s1.index[0])
print('인덱스 값으로 데이터 가져오기 > s1[s1.index[0]] : ', s1[s1.index[0]])
print('+) 이것도 가능 > s1.index[-1] : ', s1.index[-1])

2. 시리즈 슬라이싱

2-1. iloc[:]를 사용해 연속적으로 슬라이싱하기

data2 = ['R', 'G', 'B']
index2 = ['red', 'green', 'blue']
s2 = Series(data2, index2)

print('s2.iloc[0:2] : \n', s2.iloc[0:2])

indice2 = [0, 2]
print('s2.iloc[ indice2 ] : \n', s2.iloc[ indice2 ])
print('s2.iloc[ [0, 2] ] : \n', s2.iloc[ [0, 2] ])

2-2. loc으로 슬라이싱하기

indice3 = ["red", "green"]
print('s2.loc[ indice3 ] : \n', s2.loc[ indice3 ])
print('s2.loc["red", "green"] : \n', s2.loc[["red", "green"]])

3. 시리즈 수정, 추가, 삭제

data3 = [0, 0, 0]
index3 = ['천', '이천', '삼천']
s3 = Series(data3, index3)
print('수정 전 s3 : \n', s3)

3-1. 값 수정

s3.loc['천'] = 1000
s3.iloc[1] = 2000
s3['삼천'] = 3000
print('수정 후 s3 : \n', s3)

3-2. 값 추가

s3.loc['사천'] = 4000
s3['오천'] = 5000
print('값 추가 후 s3 : \n', s3)

3-3. 값 삭제 > .drop

s3.drop('천')
print('값 삭제 후 바인딩 안 함 s3 : \n', s3)

s3 = s3.drop('천')
print('값 삭제 후 다시 바인딩 s3 : \n', s3)

profile
개인 공부 기록용.

0개의 댓글