[Python으로 데이터 다루기 II - Pandas]3강:Pandas 시작하기

1 minute read

파이썬으로 데이터 주무르기, 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을 바꿔줄 수 있다.