리스트를 Pandas DataFrame으로 변환하는 방법
카테고리
데이터 과학/AI
서브카테고리
데이터 분석
대상자
- 데이터 과학자 및 분석가: Python에서 데이터 구조 변환 및 분석을 위한 기초 기술
- 난이도: 중급 (Pandas 기본 사용법 이해 필수)
핵심 요약
- Pandas DataFrame은 2차원 라벨 기반 데이터 구조로,
pd.DataFrame()
을 통해 리스트를 쉽게 생성 가능 - 다양한 리스트 구조(단일 리스트, 중첩 리스트, 딕셔너리, zip)를 DataFrame으로 변환할 수 있음
- 데이터 타입 명시(예:
astype()
,pd.to_datetime()
)으로 메모리 최적화 및 분석 정확도 향상
섹션별 세부 요약
1. 단일 리스트 변환
pd.DataFrame()
에 리스트를 전달하고columns
매개변수로 컬럼명 정의- 예:
pd.DataFrame(fruits, columns=['fruit_name'])
- 기본 인덱스는
0
부터 시작하며, 컬럼명 생략 시 자동 생성
2. 다중 리스트 결합
- 여러 리스트를 딕셔너리 형태로 전달하여 DataFrame 생성
- 예:
{'fruit': fruits, 'color': colors, 'price': prices}
- 각 리스트 길이가 동일해야 하며, 불일치 시 오류 발생
3. 중첩 리스트 처리
- 내부 리스트가 행을 나타낼 때
columns
매개변수로 컬럼명 정의 - 예:
pd.DataFrame(data, columns=['name', 'age', 'position'])
- 중첩 수준이 깊을 경우
zip()
으로 행 단위로 결합 가능
4. 딕셔너리 기반 DataFrame 생성
- 딕셔너리의 키가 컬럼명, 값이 데이터로 자동 매핑
- 불완전한 키 존재 시
NaN
값 삽입 - 예:
pd.DataFrame(employees)
5. 커스텀 인덱스 및 데이터 타입 설정
index
매개변수로 고유 인덱스 지정 가능 (예:index=['P001', 'P002']
)astype()
및pd.to_datetime()
으로 데이터 타입 명시하여 메모리 절약 및 분석 효율성 향상
결론
- 데이터 구조에 따라 적절한 변환 방법 선택 (예: 딕셔너리 →
pd.DataFrame()
, 중첩 리스트 →zip()
활용) - 데이터 타입 명시(
astype()
,pd.to_datetime()
)로 메모리 최적화 및 분석 오류 방지 - Pandas DataFrame은 데이터 분석의 핵심 도구로, 다양한 구조의 리스트를 유연하게 변환 가능