판다스에서 빈 데이터프레임 만드는 방법
데이터 과학자로서 데이터셋 작업은 일상적인 일입니다. 데이터셋은 CSV(쉼표로 구분된 값) 파일, JSON(자바스크립트 객체 표기법) 파일, SQL(구조화된 질의 언어) 데이터베이스 또는 외부 API(응용프로그램 프로그래밍 인터페이스) 형식으로 제공될 수 있습니다. 데이터셋을 확보한 후 패턴과 인사이트를 추출하기 위해 다양한 도구와 라이브러리를 사용합니다. 이 중 하나는 판다스입니다.
판다스는 데이터 조작 및 분석을 위한 파이썬 라이브러리로서 널리 사용됩니다. 데이터 클린징, 트랜스포메이션 및 시각화를 위한 쉬운 인터페이스를 제공합니다. 판다스의 주요 구성요소는 데이터프레임, 시리즈 및 인덱스입니다. 이번 글에서는 데이터프레임에 초점을 맞추어 판다스에서 빈 데이터프레임을 만드는 방법을 배워보겠습니다.
파이썬으로 빠르게 데이터 시각화를 하시겠어요?
PyGWalker는 주피터 노트북 환경에서 데이터 분석 및 시각화 워크플로우를 빠르게 처리할 수 있는 오픈 소스 파이썬 프로젝트입니다.
PyGWalker (opens in a new tab)는 판다스 데이터프레임 또는 Polars 데이터프레임을 비쥬얼 UI로 변환하여 간편하게 그래프를 만들 수 있습니다. 아래 코드를 사용해서 쉽게 실행해보세요:
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
아래 링크에서 PyGWalker를 바로 실행해볼 수 있습니다:
그리고 Github에서 ⭐️를 꼭 눌러주세요!
데이터프레임이란?
데이터프레임은 서로 다른 유형의 열을 가진 레이블이 지정된 2차원 데이터 구조입니다. 스프레드시트나 SQL 테이블과 유사한데, 데이터가 표 형식으로 구성됩니다. 행과 열이 존재하며, 행은 레코드(record)를, 열은 특성(attribute) 또는 속성(feature)을 나타냅니다. 데이터프레임은 정수, 실수, 문자열 및 판다스의 다른 데이터 구조도 포함하여 여러 유형의 데이터를 보유할 수 있는 다재다능한 데이터 구조입니다. 필터링, 슬라이싱, 결합 및 집계와 같은 작업을 데이터프레임에서 수행할 수 있습니다.
빈 데이터프레임이 필요한 이유
빈 데이터프레임은 행과 열이 모두 없는 데이터프레임입니다. 빈 데이터프레임을 만든 다음 데이터를 채우거나 데이터를 추가하는 경우가 있습니다. 예를 들어, 서로 다른 소스에서 데이터를 가져와 제품(ProductID, ProductName, ProductDescription, Price 등)에 대한 데이터를 데이터프레임에 저장하려면 빈 데이터프레임을 생성하고 이를 채워나갈 수 있습니다.
빈 데이터프레임 만드는 방법
판다스에서 빈 데이터프레임을 만드는 방법은 여러 가지가 있습니다. 이번 글에서는 3가지 방법에 대해 다루어 보겠습니다:
방법 1: DataFrame() 생성자 사용
가장 간단한 방법은 DataFrame() 생성자를 사용하여 빈 데이터프레임을 만드는 것입니다. 생성자는 열과 행이 없는 빈 데이터프레임을 반환합니다. 다음은 예제입니다:
import pandas as pd
df = pd.DataFrame()
print(df)
결과:
Empty DataFrame
Columns: []
Index: []
우리는 DataFrame df가 열과 행 모두 없다는 것을 볼 수 있습니다. 열을 추가하기 위해서 우리는 단순히 df.columns에 이름의 열 list를 할당하면 됩니다. 예를 들어:
df.columns = ['ProductID', 'ProductName', 'ProductDescription', 'Price']
print(df)
결과:
Empty DataFrame
Columns: [ProductID, ProductName, ProductDescription, Price]
Index: []
이제 네 개의 열을 가진 빈 DataFrame을 만든 것입니다.
방법 2 : dict() 생성자 사용
두 번째로 빈 DataFrame을 생성하는 방법은 dict() 생성자를 사용하는 것입니다. 이 방법은 빈 딕셔너리를 만들고 DataFrame으로 변환합니다. 다음은 예입니다.
import pandas as pd
data = dict(ProductID=[], ProductName=[], ProductDescription=[], Price=[])
df = pd.DataFrame(data)
print(df)
결과:
Empty DataFrame
Columns: [ProductID, ProductName, ProductDescription, Price]
Index: []
이전 방법과 마찬가지로열을 추가하기 위해 df.columns에 열 이름의 list를 할당합니다.
방법 3 : from_dict() 메소드 사용
세 번째로 빈 DataFrame을 만드는 방법은 from_dict() 메소드를 사용하는 것입니다. 이 방법은 빈 리스트 딕셔너리로부터 DataFrame을 생성합니다. 다음은 예입니다.
import pandas as pd
데이터 = {'ProductID': [], 'ProductName': [], 'ProductDescription': [], 'Price': []}
df = pd.DataFrame.from_dict(data)
print(df)
결과:
Empty DataFrame
Columns: [ProductID, ProductName, ProductDescription, Price]
Index: []
다시 말하지만, 우리는 df.columns
에 열 이름의 리스트를 할당하여 열을 추가할 수 있습니다.
DataFrame이 비어있는지 확인하는 방법은?
때로는 DataFrame이 비어있는지 여부를 확인하고 싶을 수 있습니다. 이를 위해 DataFrame의 empty
속성을 사용할 수 있습니다. 이 속성은 DataFrame이 비어 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다. 예를 들어:
import pandas as pd
data = {'ProductID': [1, 2, 3], 'ProductName': ['A', 'B', 'C'], 'ProductDescription': ['Desc1', 'Desc2', 'Desc3'], 'Price': [10.0, 20.0, 30.0]}
df = pd.DataFrame(data)
print(df.empty) # False
empty_df = pd.DataFrame()
print(empty_df.empty) # True
결과:
False
True
이 예제에서는 먼저 일부 데이터가 있는 DataFrame df
를 만듭니다. 그런 다음 empty
속성을 사용하여 DataFrame이 비어 있는지 여부를 확인합니다. df
에 데이터가 있기 때문에 df.empty
는 False를 반환합니다.
우리는 또한 첫 번째 방법을 사용하여 빈 DataFrame empty_df
를 만들고 empty
속성을 사용하여 비어 있는지 여부를 다시 확인합니다. 이 경우 empty_df.empty
는 True를 반환합니다.
결론
비어 있는 DataFrame을 만드는 것은 데이터 분석에서 흔한 작업입니다. 이 글에서는 Pandas에서 여러 방법을 사용하여 빈 DataFrame을 만드는 방법을 배웠습니다. 또한 DataFrame이 비어 있는지 여부를 확인하는 방법도 배웠습니다. 이제 Pandas DataFrame을 실험하고 데이터 분석 기술을 향상시킬 수 있습니다.