[BE] Python Pandas 훑어보기 (2) DataFrame

안녕하세요. 오늘은 Python Pandas의 DataFrame에 대해 간략하게 알아보겠습니다.
Series에 대한 내용은 여기에서 살펴보실 수 있습니다.

python pandas
[BE] Python Pandas 훑어보기 (2) DataFrame 2

Python Pandas란?

이전 시간에도 이야기 드렸지만, 다시 한 번 알아보겠습니다. 파이썬의 많은 데이터 분석 라이브러리 중 하나인 Pandas입니다. 데이터의 분석과 조작을 쉽게 해주는데요, s3에 바로 넣어주거나, csv로 바로 변환해준다거나 하는 등 개발 편의성 또한 우수합니다. 비교군으로 Numpy가 있는데요, 보통 Pandas는 데이터 조작과 분석(DB 데이터 등)에 많이 사용하고 Numpy는 ML 개발에 필요한 행렬 연산에 많이 사용됩니다.

Python 구성요소

Pandas는 Series와 Dataframe이라는 이름을 가진 데이터 구조로 동작합니다. 각각은 무엇을 의미할까요? Series는 개발자들이 익숙한 1차원 배열이라고 이해해주셔도 무방합니다. Index를 통해 데이터를 다룹니다. 반면에 Dataframe은 2차원 배열로 이루어져있습니다. 다른 말로는 행과 열로 구성되어 있다고 할 수 있으며 어릴 적 수학 시간에 배운 그 행렬입니다.

이번 시간에는 DataFrame에 대해 알아보겠습니다.

DataFrame

2차원 배열, 다시 말해 행렬이라고 이해해주시면 됩니다.
아래의 코드는 DataFrame을 만드는 방법을 작성하고 있습니다.

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
print(df)

#    col1  col2
# 0     1     3
# 1     2     4

print(df.dtypes)
# col1  int64
# col2  int64
# dtype: object

위 코드에서 데이터 타입을 강제하고 싶을 때는 아래와 같이 작성하면 됩니다.
(예를 들자면 string 숫자를 int 타입으로 변환할 때가 있겠습니다.)

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d, dtype=str)

print(df)
print(type(df['col1'][0]))

#   col1 col2
# 0    1    3
# 1    2    4
# <class 'str'>

마무리

위의 내용 외에도 여러 기능을 지원해주고 있습니다. 중복 데이터를 제거한다던지, 여러 함수가 있는데요! 무엇이 있는지는 다음 시간에 세세하게 알아보도록 하겠습니다.

Leave a Comment