본문 바로가기
Data & AI Intelligence/▶Preprocessing & EDA

Pandas 완전 정복: 데이터 분석의 시작과 DataFrame 생성법

by 류딩이2024. 6. 3.

Pandas 완전 정복: 데이터 분석의 시작과 DataFrame 생성법

💡 Pandas란?

데이터 분석과 조작을 위해 설계된 파이썬의 핵심 라이브러리입니다. 엑셀이나 SQL 테이블과 유사한 DataFrame 구조를 사용하여 대용량 데이터를 효율적으로 필터링, 집계, 가공할 수 있습니다.

1. 주요 데이터 구조: Series vs DataFrame

Pandas는 크게 두 가지 자료 구조를 활용합니다.

  • Series: 인덱스를 가진 1차원 배열 구조입니다.
  • DataFrame: 행과 열이 존재하는 2차원 테이블 구조로, 열마다 서로 다른 데이터 타입을 가질 수 있는 분석의 핵심 객체입니다.

 

2. DataFrame 생성 및 기본 확인

2차원 리스트를 활용하여 가장 기본적인 데이터프레임을 생성하는 방법입니다.

import pandas as pd import numpy as np two_dimensional_list = [ ['dongwook', 50, 86], ['sineui', 89, 31], ['ikjoong', 68, 91], ['jeongryun', 82, 83] ] my_df = pd.DataFrame( two_dimensional_list, columns=['name', 'eng_score', 'math_score'], index=['a', 'b', 'c', 'd'] ) print(my_df)
name eng_score math_score
a dongwook 50 86
b sineui 89 31
c ikjoong 68 91
d jeongryun 82 83
★ 주의: 같은 컬럼 내의 데이터는 반드시 동일한 데이터 타입이어야 합니다.

3. 다양한 방식의 DataFrame 생성

■ 2차원 배열(Numpy) 및 시리즈 리스트 활용

Numpy array나 Pandas Series를 담은 리스트로도 동일한 결과를 얻을 수 있습니다.

two_dimensional_array = np.array(two_dimensional_list) list_of_series = [pd.Series(row) for row in two_dimensional_list] df_array = pd.DataFrame(two_dimensional_array) df_series = pd.DataFrame(list_of_series)

■ 파이썬 딕셔너리(Dictionary) 활용

딕셔너리의 Key는 컬럼명으로, Value는 해당 열의 데이터 리스트로 매핑됩니다. 가장 직관적이고 자주 쓰이는 방법입니다.

dict_data = { 'name': ['dongwook', 'sineui', 'ikjoong', 'yoonsoo'], 'english_score': [50, 89, 68, 88], 'math_score': [86, 31, 91, 75] } df_dict = pd.DataFrame(dict_data)

■ 딕셔너리 리스트 활용

각 행(row)을 하나의 딕셔너리로 구성하여 리스트에 담는 방식입니다. JSON 데이터 형식과 유사하여 웹 API 데이터를 처리할 때 유용합니다.

my_list = [ {'name': 'dongwook', 'english_score': 50, 'math_score': 86}, {'name': 'sineui', 'english_score': 89, 'math_score': 31}, {'name': 'ikjoong', 'english_score': 68, 'math_score': 91}, {'name': 'yoonsoo', 'english_score': 88, 'math_score': 75} ] df_row_list = pd.DataFrame(my_list)

4. 성능 및 특징 요약

구분 내용
성능 Numpy보다 풍부한 기능을 제공하지만, 구조적 복잡성으로 인해 메모리 사용량이 다소 많습니다.
유연성 다양한 데이터 타입 혼용이 가능하며 시계열 데이터 처리에 강력합니다.
용도 데이터 전처리, 통계 분석, 데이터 정리 및 결측치 처리 등 분석 전반에 사용됩니다.

Pandas의 기초적인 생성법을 익혔다면, 다음 단계는 데이터를 필터링하고 인덱싱하는 방법을 학습할 차례입니다.