데이터를 저장하고 이를 쉽게 탐색, 분석 처리할 수 있는 방법을 제공하는 패키지
Series 클래스: numpy의 array를 확장한 클래스
(각 원수가 이름을 갖는 1차원 혼합 자료형 배열)
DataFrame 클래스: 크기가 같은 여러 개의 Series로 이루어진 클래스
(각각의 Series를 열로 갖는 2차원 배열, 행이름과 열이름이 있는 크기 변경이 가능한 테이블 구조의 배열)
사용방법
# pandas 패키지를 약어(pd)를 사용하여 임포트(import)
import pandas as pd
# Series, DataFrame 클래스 임포트(import)
from pandas import Series, DataFrame
s = Series( [10,20,30], index=['a','b','c'])
s
df = DataFrame(s,columns=["A"])
df
s.to_numpy()
array([10, 20, 30], dtype=int64)
df.to_numpy()
array([[10],
[20],
[30]], dtype=int64)
s.to_numpy().shape
df.to_numpy().shape
s.index
df.index
# df의 열이름 확인
df.columns
d = {'one':Series([1,2], index=['a','b']),
'two': Series([1,2,3],index=['a','b','c'])}
df = DataFrame(d)
df
import numpy as np
x = np.arange(4).reshape((2,2))
df = DataFrame(x)
# df의 열이름, 행이름 지정
df.columns = ["A","B"]
df.index = [11,12]
s1 = Series([1.0,2,3])
sa = Series([1.0,2,3], index=['a','b','c'])
sc = Series([0.0,1,2], index=['a','b','d'])
sn = Series([1,2,1,3,3,5,3,4])
s1
s1-2
sa
sc
sac = sa + sc
# sa와 sc는 서로 이름 인덱스가 달라, 정상적으로 합이 이루어 지지 않음
sac.isnull()
sac.notnull()
sac.fillna(-1.0)
sx = sac.dropna()
sx
sy = sx.append(sc[:2])
sy
sy.drop('a')
그외 Series 메소드
sn
sn.describe()
list(sn.unique())
sn.nunique()
sn.replace([1,2],0)