Pandas 입문기 - 2

Seok-Hyun Lee·2020년 7월 30일
1

AI

목록 보기
2/3

DataFrame & Series

데이터분석을 위해 수집, 전처리 등의 과정을 가장 효율적으로 할 수 있는 방법이 무엇일까?
바로 행렬로 이루어진 표이다.
그리고 판다스에선 이것을 Data Frame과 Series 로 표현한다.

Series

파이썬의 리스트에 정수로 만들어진 인덱스를 기본값으로 설정하여 준다.

>>> import pandas as pd
>>> s = pd.Series([9,8,7])
>>> s[0]
9
>>> s[1]
8
>>> s
0 9
1 8
2 7
dtype: int64

그러면 왜 그냥 리스트를 쓰지 않고 Series 를 사용할까? 왜냐하면 딕셔너리의 특징을 일부 포함하기 때문이다.
예를 들어 index와 value의 값의 구분지을 수 있고 index 범위값을 따로 확인할 수 있기 때문이다. 또한 value의 자료형 또한 파악할 수 있다.

>>> s.values
array([1, 3, 5], dtype=int64)
>>> s.index
RangeIndex(start=0, stop=3, step=1)
>>> s.dtype
dtype('int64')

DataFrame

Data Frame딕셔너리 구조를 더욱 적극 활용한다.

딕셔너리는 {"key":"value"} 의 형태를 가지고 있다. 하지만 DataFrame에선 {"key":[value, value, ...]} 형태로 표현된다.

즉, value가 Series 와 같은 형태의 객체가 사용되어야 한다는 의미이다.

>>> data = {
	    "이름":["철수","민수","영희"],
	    "출생연도":[1995,1996,1994],
            "출생월":[3,6,7]
            }
>>> df = pandas.DataFrame(data)
>>> df
   이름  출생연도  출생월
0  철수  1995    3
1  민수  1996    6
2  영희  1994    7

data의 각 value 들이 이전의 Series 처럼 각각이 기본 인덱스를 가지고 열로 표현되었다.하지만 각 Series의 key값이 해당 열의 데이터가 어떤 것을 의미하는지 표현해주고있는 것이 제일 중요한 점이다.

구조 선언

DataFrame을 만드는 방법에는 보다 다양하다.하지만 이번 포스트는 이론적인 것을 설명하기 위한 글이니 기술적인 부분은 생략한다. (사실, 구글링을 통하면 쉽게 찾을 수 있을 겁니다.)

데이터 전처리

데이터를 전처리하는 방식에서는 여러가지가 있다.
행과 열을 바꾸거나, 순서를 바꾸고, 다양한 연산을 통한 값 추출 등
그래서 이렇게 많은 기능들을 다 외울 수 없기에 백서나 구글링을 통해 필요에 따라 찾아가면서 작업하다보면 주로 사용하는 기능 등은 자연스럽게 외워지게 된다고 생각한다.

하지만, 강의를 들으면서 얻게 된 몇 가지 을 주자면
Pandas Cheat Sheet
판다스 10분 완성

등을 참고하면서 작업하면 편할 것이다.
특히, Cheat Sheet 의 경우 자주 사용하는 기능들의 명령어와 예시 등을 2장의 pdf 파일에 명시해놓은 것이기 때문에 뽑아놓고 책상에 붙여두는 것도 좋을 것 같다.

마무리

입문기는 라이브러리 사용법보다는 데이터의 형태를 익히는게 중요하다고 생각한다.
사실 다양한 기능들을 사용하는 것은 중요하지만 내가 어떤 프로젝트를 할지에 따라 사용하는 기능들은 계속 달라지기에 다양한 기능들에 대한 설명 포스트는 넘어가고자 한다.(이미 훨씬 좋은 글들도 많다.)

앞으로 데이터를 다루는 프로젝트를 포스팅하면서 사용된 기능들 중 설명이 필요한 것에만 간단하게 설명하는 식으로 다음 시리즈를 이어가고자 한다.

다음편

데이터를 시각화하는 기초적인 프로젝트를 포스팅하려고 한다. 데이터를 가장 잘 표현하는 방법이 시각화이다. 그래서 Pandas를 입문으로 정하게 된 계기도 결국 전처리만 하고자 하는것이 아니라 시각화 또한 수월하게 하기 위해서이다.

profile
Arch-ITech

0개의 댓글