1 개요편집

판다스. 금융데이터 분석을 목적으로 개발됨. panel data와 python data analysis에서 유래했다. 별칭은 pd.

C언어로 작성되어 처리속도가 빠르다.

Series라는 1차원 자료구조와 DataFrame이라는 2차원 자료구조를 이용해 데이터를 다룬다.

내용이 상당히 방대해 세분해야 할 듯하다;;

공식 메뉴얼 : http://pandas.pydata.org/pandas-docs/stable/

2 시리즈. Series편집

리스트와 달리, 인덱싱 값을 지정할 수 있다.

from pandas import Series

의도 방법
선언 시리즈명 = Series([1,2,3,4,5], index=[1,2,3,4,5])
자료접근 시리즈명[인덱스]
인덱스 리스트 얻기 시리즈명.index
자료 리스트 얻기 시리즈명.values

2.1 연산편집

시리즈끼리 더하면 같은 인덱스를 가진 값들끼리 더해진다.

2.2 데이터 추가.편집

시리즈[인덱스]=값 혹은 시리즈=시리즈.append(더할시리즈) 형태로 추가 가능.

2.3 값에 접근하기.편집

시리즈.loc[인덱스] 는 해당 인덱스의 데이터를 가리킨다.

시리즈.iloc[정수인덱스] sms 0, 1, -1 따위의 정수 순서에 해당하는 값을 불러온다.

인덱스가 복수일 땐 시리즈로 반환한다.

시리즈.values[정수인덱스] 복수일 땐 배열로 반환한다.

2.4 삭제.편집

시리즈=시리즈.drop(인덱스)

의도 설명 방법
시리즈 합치기 df = pandas.DataFrame({'행이름': 시리즈, '행이름2': 다른df['행이름']}) 형태로 합치면 해당 인덱스에 대해 빈 값은 NaN으로 처리되어 합쳐진다. df = pandas.DataFrame({'행이름': 시리즈, '행이름2': 다른df['행이름']})



2.5 결측치 처리편집

NaN 처리.

fillna() 함수를 사용한다.

df = df.fillna(method='옵션')

옵션 설명
bfill(backward) 뒤에 있는 값으로 NaN을 덮어쓴다. 마지막 데이터가 NaN이라면 처리 불가
ffill(foreward) 앞의 있는 값으로 덮어쓴다. 처음 데이터가 NaN이면 처리 불가.

따라서 위의 옵션을 둘 다 써서 빈틈이 없게 만드는 게 일반적.


dropna() 함수로 NaN이 있는 행을 제거하는 방법도 있다.

2.6 이외 활용편집

의도 방법 설명
순위 얻기 내장함수인 .rank()를 사용한다.

ascending=False 옵션을 줄 수 있다.

df['열이름'].rank()
df.pct_change()  # 일간 변동률?? 뭐하는 거지?