본문 바로가기

코딩으로 익히는 Python/Pandas

[Python] 05. pandas Series 추가,수정,삭제,검색,정렬 : loc(),drop(),append(),inplace=True예제

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 

CRUD

  • Create : 생성
  • Read : 읽기
  • Update : 갱신
  • Delete : 삭제

추가 & 수정

sr[0] = 100
# sr['aa'] = 100
# sr.loc['aa'] = 100
# sr.iloc[0] = 100 
sr[1:3] = [1,2]
# sr.iloc[1:3] = [1,2]
# sr['bb':'cc'] = [1,2]
# sr.loc['bb':'cc'] = [1,2]
sr['dd':'ee'] = sr['dd':'ee']+2

연습문제

 

# 30 이상인 데이터에 5를 더한 값으로 수정하시오

# solution

sr[sr>=30] = sr[sr>=30]+5
sr 
[OUT] :

aa    10
bb    20
cc    35
dd    45
ee    55
Name: 국어점수, dtype: int64 

sr.loc['ff']=70 # 있으면 수정 없으면 추가
sr
[OUT] :

aa    10
bb    20
cc    35
dd    45
ee    55
ff    70
Name: 국어점수, dtype: int64 

 

sr.append(pd.Series([80,90,100],index=['gg','hh','ii']))
# sr = sr.append(pd.Series([80,90,100],index=['gg','hh','ii'])) -> sr수정됨
[OUT] :

aa     10
bb     20
cc     35
dd     45
ee     55
ff     70
gg     80
hh     90
ii    100
dtype: int64 

삭제

sr.drop(['aa','cc'],inplace=True) 
# sr.drop(부여된 인덱스)
# sr = sr.drop(['aa','cc']) -> 이렇게 해줘야만 sr이 바뀜
# inplace 적용하면 sr로 안받아도 됨

 

sr 
[OUT] :

bb     1
dd    47
ee    57
ff    70
Name: 국어점수, dtype: int64 

연습문제

# 25 이상인 데이터를 삭제하시오

# solution

 sr.drop(sr[sr>=25].index,inplace=True)
 sr
[OUT] :

bb    1
Name: 국어점수, dtype: int64 

정렬

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] = 100
sr 
[OUT] :

aa    100
bb     20
cc     30
dd     40
ee     50
Name: 국어점수, dtype: int64 

 

sr.sort_values(ascending=True,inplace=True)
sr
[OUT] :

bb     20
cc     30
dd     40
ee     50
aa    100
Name: 국어점수, dtype: int64

 

sr.sort_index(ascending=0) 
[OUT] :

ee     50
dd     40
cc     30
bb     20
aa    100
Name: 국어점수, dtype: int64 

Review
-
drop( inplace=True) 2번 이상 실행하면 오류 나므로 주의
728x90
반응형
LIST