pandas와 데이터프레임

yuns_u·2021년 7월 11일
0

개요

pandas(판다스)란 R을 모티브로하여 만든 파이썬 라이브러리이다.
파이썬에서 데이터 처리를 위해 만든 라이브러리로 파이썬으로 데이터 처리를 하려면 필요한 라이브러리이다!

판다스의 경우 주로 pd라는 명칭으로 임포트 하는 것이 관례이다.

import pandas as pd

판다스는 총 세가지의 데이터 구조를 사용한다.

  • 시리즈 (Series)
  • 데이터프레임 (DataFrame)
  • 패널(Panel)

이 중 데이터 프레임이 가장 많이 사용된다고하는데, 이 포스트에서는 시리즈와 데이터프레임만 다루었다.

데이터분석을 위해 수집, 전처리 등의 과정은 대부분 데이터프레임의 형태로 이루어지는 경우가 많다. 여기서 말하는 dataframe(데이터프레임)은 흔히 많이 들어본 행과 열로 이루어진 표를 의미한다.

dataframe은 series(시리즈)가 여러 개 합쳐진 자료형이고,series는 데이터프레임의 하위 자료형이다. 1개의 열이 시리즈이고 이 시리즈가 다수 모여 데이터프레임을 형성한다라고 이해하면 쉬울 것 같다.

1. series (시리즈)

지금 공부할 때는 데이터프레임을 더 많이 쓰긴하지만 판다스 사전에서 시리즈도 나오고 어떤 모듈들은 시리즈 단위로 사용되는 것 같아서 이것을 먼저 알아봐야할 것 같았다.

2. dataframe (데이터프레임)

데이터프레임은 여러 개의 시리즈로 구성된 자료형인 것 같다.
즉 데이터프레임에서 하나의 열만 가져온다면, 그건 시리즈가 된다.

Pandas DataFrame is two-dimensional size-mutable, potentially heterogeneous tabular data structure with labeled axes (rows and columns).

정리

1차원 배열 형태의 데이터 구조를 Series
2차원 배열 형태의 데이터 구조를 DataFrame

Series는 행(가로줄, row)이다.
DataFrame은 행렬이다.

행을 구분하는 행 제목을 index
열을 구분하는 열 제목을 column

series는 열이 없는 것이 아니라 열 1개에 n개의 행을 가지고 있는 것이다.

header와 column은 다르다.

index: 각 Row에 대한 Label같은 것. 행이름같은 것.
header: 각 column에 대한 Label같은 것. 열이름같은 것.
row: 행(가로줄)
column: 열(세로줄)

용어가 정리가 안되니까 헷갈려서 이렇게 정리해서 외워야할 것 같다.




❓ 데이터셋과 데이터프레임의 차이

문제를 풀다가 둘이 다른 것 같아서 찾아봤는데 pandas나 python와는 다른 언어에서 나온 개념같다.

Conceptually, consider DataFrame as an alias for a collection of generic objects Dataset[Row], where a Row is a generic untyped JVM object. ... Dataset, by contrast, is a collection of strongly-typed JVM objects, dictated by a case class you define in Scala or a class in Java.

판다스에서는 데이터셋과 데이터프레임의 차이가 커보이지 않는다...적어도 지금 작성하는 이 순간에는!

Spark 에서 사용하는 Data Structure의 종류로 RDD, dataframe, dataset이 있는데 이것은 아직 내가 알아봐도 이해를 못할 것 같아서 패스.
참고

profile
💛 공부 블로그 💛

0개의 댓글