Python

[data] pandas, DataFrame의 기초(1) - 구조

코딩도어 2021. 11. 30. 18:15

□ Pandas란? 

pandas는 직관적으로 데이터 표현이 가능한 Python 패키지 입니다. 예전에는 통계학에 사용되는 R언어가 데이터 분석 언어의 주를 이루었지만 파이썬이 범용적이게 되고 실제 실무에서도 사용되게 되자 pandas의 위상도 올라간 패키지입니다.

 

pandas

  • 데이터를 정리하기
  • 데이터를 보관하기
  • 데이터를 분석하기

크게 3가지의 유용성을 가지고 있습니다.

 

pandas를 사용하려면 먼저 pandas의 DataFrame을 알아야 합니다. DataFrame은 테이블 형식의 데이터를 다루게 되는데, 그 구성으로는 column, data, index가 있습니다. 여기서 Series를 잠깐 볼까요?

 

□ Series

 

Series는 1차원의 배열인데

import pandas as pd
num_series = pd.Series([1,2,3,4,5])
print(num_series)

Series에 1차원 데이터를 출력해보겠습니다.

0    1
1    2
2    3
3    4
4    5
dtype: int64

 

0~1까지의 row에 숫자 1~5가 저장된 것을 볼 수 있습니다.

 

□ DataFrame 구조

 

DataFrame은 2차원의 데이터 오브젝트인데 Series의 조합이 DataFrame을 형성한다고 생각하면 됩니다.

from pandas import DataFrame as pd

DataFrame의 구조는

pd.DataFrame(data=None, index=None, columns=None, dtype=None)

으로 이루어져있고

각각의 구성요소는

  • data : 행렬이나 벡터 데이터
  • index : 해당하는 index 개수의 index가 생성, 임의의 index 생성 가능
  • columns : 변수 이름
  • dtype : 데이터의 타입

간단한 예제 만들어보겠습니다.

from pandas import DataFrame as df
data1 = df(data={'a':[1,2,3], 'b':[4,5,6]})
   a  b
0  1  4
1  2  5
2  3  6

이렇게 데이터를 쉽게 생성할 수 있습니다. 데이터 사이언스 뿐만 아니라 어느 분야에서도 사용될 수 있기 때문에 중요한 부분이라고 생각해요.

 

이제 DataFrame의 모습을 보고 싶다면 어떻게 할까요? 예제는 아주 간단한 데이프레임이라 그렇지만 많은 데이터를 다루는 특성상 코드만 보고 그 구성을 보기 힘든데요.

그럴 때는

 

□ shape, len, index, columns 로 DataFrame 구조 알아보기

 

.shapeDataFrame의 구조를 차원 형태로 알 수 있습니다.

print(data1.shape)
(3, 2)

(3,2)의 행렬이 생성된 것을 숫자로 표현해주죠?

 

len()그 행렬의 갯수를 알 수 있는 함수입니다.

print(len(data1))
3

 

 

.index행의 index 구조를 보여줍니다.

print(data1.index)
RangeIndex(start=0, stop=3, step=1)

 

반대로 .columns열의 index 구조를 보여줍니다.

print(data1.columns)
Index(['a', 'b'], dtype='object')