[Python으로 데이터 다루기 II - Pandas]3강:Pandas 시작하기
파이썬으로 데이터 주무르기, pandas
1. Pandas 시작하기
Prerequisite : Table
- 행과 열을 이용해서 데이터를 저장하고 관리하는 자료구조(컨테이너)
- 주로 행은 개체, 열은 속성을 나타냄
Pandas 시작하기
우선 판다스를 설치해준다.
pip3 install pandas
import pandas
를 통해서 진행
import pandas as pd
2. Pandas로 1차원 데이터 다루기 - Series
Series?
- 1-D labeled array
- 인덱스를 지정해줄 수 있음
s = pd.Series([1, 4, 9, 16, 26]) s # 0 1 # 1 4 # 2 9 # 3 16 # 4 26 # dtype: int64
t = pd.Series({'one':1, 'two':2, 'three':3, 'four':4, 'five':5}) t # one 1 # two 2 # three 3 # four 4 # five 5 # dtype: int64
Series + Numpy
- Series는 ndarray와 유사하다!
s[1] # 4
t[1] # 2
t[1:3]
# two 2
# three 3
# dtype: int64
s[s > s.median()] # 자기 자신의 median(중앙값)보다 큰 값들만 가지고 와라
# 3 16
# 4 26
# dtype: int64
s[[3, 1, 4]] # 인덱스의 순서대로 Series가 출력된다.
# 3 16
# 1 4
# 4 26
# dtype: int64
import numpy as np
# numpy에 있는 함수들을 pandas의 Series에 적용할 수 있다!
np.exp(s) # 지수함수 exp를 사용. s에 대한 exp가 나온다.
# 0 2.718282e+00
# 1 5.459815e+01
# 2 8.103084e+03
# 3 8.886111e+06
# 4 1.957296e+11
# dtype: float64
s.dtype # Series의 데이터 타입 확인
# dtype('int64')
Series + dict
- series는 dict와 유사하다.
t = pd.Series({'one':1, 'two':2, 'three':3, 'four':4, 'five':5})
t['one'] # 1
# Series에 값 추가
t['six'] = 6
t
# one 1
# two 2
# three 3
# four 4
# five 5
# six 6
# dtype: int64
'six' in t # True
'seven' in t # False
t['seven'] # Series에 없는 키를 접근했으므로 키 에러 발생.
t.get('seven') # 값을 가져오되 가져오지 않았을 때의 예외처리도 해주는 get! 해당 값이 없으면 아무것도 반환하지 않는다.
t.get('seven', 0) # 'seven'이 없다면 0을 반환
Series에 이름 붙이기
name
속성을 가지고 있다.- 처음 Series를 만들 때 이름을 붙일 수 있다.
s = pd.Series(np.random.randn(5), name="random_nums")
s
# 0 0.708608
# 1 -0.868956
# 2 -0.715239
# 3 -0.001667
# 4 -0.522188
# Name: random_nums, dtype: float64
# Name부분에 random_nums가 생긴 것을 볼 수 있다.
s.name = "임의의 난수" # name에 접근하고 name을 바꿔줄 수 있다.