[TIL] Python pandas[1] : May 22, 2020

RE_BROTHER·2020년 5월 22일
0

TIL

목록 보기
16/41

Pandas library

총 4일간 크롤러 개발을 마치고, 데이터 정제를 위해 pandas를 사용해야하는 상황이다.
이번 기회에 pandas에 대해서 상세하게 여러번에 나누어 정리해볼까 한다.

What is pandas?

Pandas는 파이썬에서 사용하는 데이터분석 라이브러리로, 행과 열로 이루어진 데이터 객체를 만들어 다룰 수 있게 되며 보다 안정적으로 대용량의 데이터들을 처리하는데 매우 편리한 도구이며, pandas를 사용하기 위해서는 아래와 같이 pandas 패키지를 import해야 한다.
import pandas as pd

Create a Data Object

pandas에서 Data Object는 Series와 DataFrame 2가지로 나뉜다. 이 두 Object의 차이는 1차원 배열과 2차원 배열이라는 차이점이 있다. Series가 1차원, DataFrame이 2차원 배열로 데이터가 저장된다.

보이는 것과 같이 Series는 한 가지 기준에 의하여 데이터가 저장되고, DataFrame은 여러 형태의 데이터를 받아 생성할 수 있다. 그 중 한 방법으로 아래와 같이 numpy array 를 받아 생성이 가능하다.
앞서 작성한 것처럼 DataFrame 은 2차원 배열의 형태를 띄고 있다. 따라서 우리가 자주 보는 표 형태와 같이 두 가지의 기준에 따라 데이터를 담고 있다. 아래의 예제에서는 첫번째 기준은 날짜, 두번째 기준은 장소(A, B, C, D 라는 네 곳의 위치)에 따라 측정된 어떤 값들을 담겨 있다고 생각하면 쉽게 이해가 된다.
DataFrame을 만들기 위해서는 pd.DataFrame() 이라는 클래스 생성자를 사용하여, 행에 해당하는 기준(첫번째 기준)인 인덱스를 index라는 인수로 전달하며, 열에 해당하는 기준(두번째 기준)인 컬럼은 columns이라는 인수로 전달한다.
여기에서 인덱스로 pd.data_range()를 사용하여 날짜 값들을 만들어 전달했고, 컬럼의 이름은 a, b, c, d라는 이름이 담긴 리스트로 넣어보았다.

dates = pd.date_range('pd_test', periods=6)
# DatetimeIndex(['pd_1', 'pd_2', 'pd_3', 'pd_4', 'pd_5', 'pd_6'],
#               dtype='datetime64[ns]', freq='D')

df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
#                   A         B         C         D
# pd_1  0.469112 -0.282863 -1.509059 -1.135632
# pd_2  1.212112 -0.173215  0.119209 -1.044236
# pd_3 -0.861849 -2.104569 -0.494929  1.071804
# pd_4  0.721555 -0.706771 -1.039575  0.271860
# pd_5 -0.424972  0.567020  0.276232 -1.087401
# pd_6 -0.673690  0.113648 -1.478427  0.524988

기타 추가적인 내용은 주말에 공부하면서 작성을 진행할 예정이다.

profile
I hope the All-Rounder Developer & Researcher

0개의 댓글