본문 바로가기
파이썬/판다스

Pandas - Series 기초

by 행복론자 2019. 11. 10.

Pandas는 python package로 빠르고 유연한 데이터 구조(Series, DataFrame)를 제공합니다.

Series는 1차원 배열 형태, DataFrame은 2차원 구조로 생각할 수 있습니다.

 

그 중 Series에 대해서 알아보겠습니다.

Series는 Python의 리스트 혹은 딕셔너리와 닮은 부분이 많습니다.

 

우선 Series를 import하는 방법입니다. 

from pandas import Series, DataFrame

 

이후 Series를 사용해서 Data를 저장하는 법을 알아보겠습니다.

from pandas import Series, DataFrame
stock = Series([10000,10500,10300])

Series는 클래스입니다. 클래스를 생성할 때 생성자를 제공하여 객체를 만든다고 생각하면 됩니다.

10000, 10500, 10300을 넣은 stock의 모습은 이렇습니다

 

 

 

 

배열과 마찬가지로 인덱싱이 0부터 시작합니다.

각 인덱스에 대한 접근은 마찬가지로 배열처럼 할 수 있습니다. 

stock[0] #10000
stock[1] #10500
stock[2] #10300

 

지금까지는 리스트와 별반 다를 것이 없어 보입니다.

하지만 리스트와 달리 인덱스를 지정할 수 있습니다.

from pandas import Series, DataFrame
stock = Series([10000,10500,10300], index=['2019-10-01','2019-10-02','2019-10-03'])

 

위처럼 index를 지정해주고 아래처럼 접근할 수 있습니다.

stock[0] #10000
stock[1] #10500
stock[2] #10300

stock['2019-10-01'] #10000
stock['2019-10-02'] #10500
stock['2019-10-03'] #10300

 

또한 조건에 따라 Slicing할 수 있습니다.

stock에서 주식 가격이 10000원이 넘는 것만 추출하고 싶으면 이렇게 합니다.

stock[stock > 10000] #10500, 10300

 

또한 더하기 연산도 할 수 있습니다. 내가 가진 주식과 친구가 가진 주식의 수를 더해 보겠습니다.

from pandas import Series, DataFrame
mine = Series([10,20,30], index=['kakao','naver','samsung'])
friend = Series([30,20,10], index=['samsung','naver','w games'])

print(mine + friend)

 

#console을 이용하면 print 함수 안쓰고도 mine + friend만으로 출력이 가능합니다

 

 

나는 kakao 주식이 있지만 친구는 업고 반대로 나는 w games가 없지만 친구는 있어서 더하면 NaN ( Not a number)가 나옵니다. 그럼에도 둘 다 갖고 있는 naver, samsung은 알아서 잘 더해줍니다.

 

빼기도 가능하니 한 번 해보시길 바랍니다.

 

 

다음은 Series에 항목을 추가하는 방법입니다.

위의 mine에서 새로 주식을 취득하면 아래와 같이 추가할 수 있습니다.

from pandas import Series, DataFrame
mine = Series([10,20,30], index=['kakao','naver','samsung'])
mine['skt'] = 25 
print(mine )

 

또한 in 연산자 및 get 함수의 사용도 가능합니다.

사용 예시입니다.

from pandas import Series, DataFrame
mine = Series([10,20,30], index=['kakao','naver','samsung'])
mine['skt'] = 25
mine.get('skt') # 25

'skt' in mine # True
'kt' in mine # False

 

반응형

'파이썬 > 판다스' 카테고리의 다른 글

Pandas Cheatsheet  (0) 2020.01.24
Python Pandas 자질구레, 다모임  (0) 2020.01.07
Pandas - DataFrame 기초  (0) 2019.11.24
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

댓글