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
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의 기초적인 생성법을 익혔다면, 다음 단계는 데이터를 필터링하고 인덱싱하는 방법을 학습할 차례입니다.
'Data & AI Intelligence > ▶Preprocessing & EDA' 카테고리의 다른 글
| 데이터 정제 (0) | 2024.06.04 |
|---|---|
| Pandas 기초: 데이터 타입 확인 및 외부 CSV 데이터 로드 (0) | 2024.06.03 |
| 5. numpy 기본 통계 (0) | 2024.06.03 |
| 4. numpy 불린 연산 (1) | 2024.06.03 |
| 03. numpy_기본연산 (arange) (0) | 2024.06.03 |