pandas

pandas Series

알 수 없는 사용자 2018. 5. 22. 22:44

pandas Series 는 일차원의 배열 비슷한 객체 입니다.

일단 한번 불러오는 것으로 하겠습니다.


import pandas as pd
from pandas import Series
import numpy as np
obj = Series([4,7,-5,3])
obj
0    4
1    7
2   -5
3    3
dtype: int64


obj의 value 는 어떤 것들이 있는지 볼까요?

obj.values
array([ 4,  7, -5,  3])


ojb의 index 도 불러올 수 있습니다.

여기서 index 는 순서를 가진 map 의 key라고 생각하시면 됩니다!!!

쉽게 설명하자면 책의 페이지 역할을하는거죠!!!

obj.index
RangeIndex(start=0, stop=4, step=1)


obj[1]
7


index 를 따로 설정하지 않으면 리스트처럼 0,1,2,3,4 ... 처럼 index가 자동으로 만들어 지지만

따로 설정할 수도 있습니다.

obj2 = Series([4,7,-5,3], index=['d', 'b', 'a', 'c'])
obj2
d    4
b    7
a   -5
c    3
dtype: int64


ojb2의 index를 가져오면,

obj2.index
Index(['d', 'b', 'a', 'c'], dtype='object')


Index에 'a' 항목을 가져오고 싶다면,

obj2['a']
-5


obj2에 'd'항목을 수정하고

'c', 'a', 'd' 항목만 불러오고 싶다면

obj2['d'] = 6
obj2[['c', 'a', 'd']]
c    3
a   -5
d    6
dtype: int64


아래와 같이 조건을 써서 value가 0보다 큰 값을 불러올 수도 있습니다.

obj2[obj2>0]
d    6
b    7
c    3
dtype: int64


값 전체에 연산을 할 수도 있고.

obj2*2
d    12
b    12
a   -10
c     6
dtype: int64


numpy 연산도 할 수 있습니다.

np.exp(obj2)
d    403.428793
b    403.428793
a      0.006738
c     20.085537
dtype: float64


python3 dict에서 key존재 여부를 확인 할 때 사용하는 "in"도 사용 가능합니다.

'b' in obj2
True
'e' in obj2
False