학습목표

  1. pandas Series 이해하기
In [28]:
import numpy as np
import pandas as pd

Series 값 변경

  • 추가 및 업데이트: 인덱스를 이용
  • 삭제: drop함수 이용
In [29]:
s = pd.Series(np.arange(100, 105), ['a', 'b', 'c', 'd', 'e'])
s
Out[29]:
a    100
b    101
c    102
d    103
e    104
dtype: int32
In [30]:
s['a'] = 200
s
Out[30]:
a    200
b    101
c    102
d    103
e    104
dtype: int32
In [31]:
s['a'] = np.NaN
In [32]:
# 실제 데이터가 아닌 경우의 표시를 고민 할 필요가 있다.
s['a'] = np.NaN
In [33]:
s['k']= 300
s.drop('k')
#drop같은 경우는 메모리상에서만 변하지 변수 자체에 영향을 주지 못한다.
ss=s.drop('k')
In [34]:
s
Out[34]:
a      NaN
b    101.0
c    102.0
d    103.0
e    104.0
k    300.0
dtype: float64
In [35]:
ss
Out[35]:
a      NaN
b    101.0
c    102.0
d    103.0
e    104.0
dtype: float64
In [36]:
s.drop('k', inplace=True) #메모리가 부족한 경우 직접 없앨 수도 있다.
s
Out[36]:
a      NaN
b    101.0
c    102.0
d    103.0
e    104.0
dtype: float64
In [37]:
s[['a', 'b']] =[300, 900]
s
Out[37]:
a    300.0
b    900.0
c    102.0
d    103.0
e    104.0
dtype: float64

Slicing

  • 리스트, ndarray와 동일하게 적용
In [52]:
s2= pd.Series(np.arange(100, 105), ['a', 'b', 'c', 'd', 'e'])
s2
Out[52]:
a    100
b    101
c    102
d    103
e    104
dtype: int32
In [53]:
s2[1:3]
Out[53]:
b    101
c    102
dtype: int32
In [56]:
print(s2[1:3])
print(s2['c':'d'])
b    101
c    102
dtype: int32
c    102
d    103
dtype: int32
In [ ]: