데이터 프레임: 두 판 사이의 차이
편집 요약 없음 |
분류 추가, 코드 예제 오류·리드·코드블록 정리 |
||
| 1번째 줄: | 1번째 줄: | ||
'''데이터 프레임 (Data Frame) | '''데이터 프레임'''(Data Frame)은 행(Row)와 열(Column)로 이루어진 2차원 테이블 형태의 변수를 말한다. 데이터 분석에서 가장 흔하고 데이터의 특징을 잘 나타내는 핵심적인 형태이다. | ||
행(Row)와 열(Column)로 이루어진 2차원 테이블 형태의 변수를 | |||
*열(Column | * 열(Column): 변수 또는 속성을 나타낸다. (예: 성별, 연령, 학점, 연봉 등) | ||
*행(Row): 관측치 또는 개별 사례를 | * 행(Row): 관측치 또는 개별 사례를 나타낸다. (예: 남자, 21, 3.8 등) | ||
== 데이터 프레임의 특징 == | |||
'''리스트의 묶음''': 여러 리스트(데이터의 묶음)를 하나로 묶어놓은 | '''리스트의 묶음''': 여러 리스트(데이터의 묶음)를 하나로 묶어놓은 구조이다. | ||
'''Key-Value 구조''': 묶이는 것의 이름(열 이름)이 먼저 | '''Key-Value 구조''': 묶이는 것의 이름(열 이름)이 먼저 정의된다. | ||
'''대소문자 구분''': 파이썬 문법 특성상 대소문자를 엄격하게 구분하므로 주의해야 | '''대소문자 구분''': 파이썬 문법 특성상 대소문자를 엄격하게 구분하므로 주의해야 한다. | ||
'''자동 인덱스 생성''': 행을 식별하기 위해 0, 1, 2, 3... 형태의 인덱스가 자동으로 | '''자동 인덱스 생성''': 행을 식별하기 위해 0, 1, 2, 3... 형태의 인덱스가 자동으로 부여된다. | ||
'''외부 데이터 활용''': 직접 만드는 것 외에도, 기존에 있는 파일(CSV, Excel 등) 데이터를 불러와서 사용할 수 | '''외부 데이터 활용''': 직접 만드는 것 외에도, 기존에 있는 파일(CSV, Excel 등) 데이터를 불러와서 사용할 수 있다. | ||
파이썬에서 '''데이터 프레임을 다루기 위해서는 `pandas` 라이브러리'''가 | 파이썬에서 '''데이터 프레임을 다루기 위해서는 `pandas` 라이브러리'''가 필요하다. | ||
Python | == Python 예시 == | ||
<syntaxhighlight lang="python"> | |||
import pandas as pd | import pandas as pd | ||
# 데이터 프레임 생성 | |||
exam = pd.DataFrame({ | exam = pd.DataFrame({ | ||
| 41번째 줄: | 39번째 줄: | ||
# 데이터 기초 정보 확인 코드 | |||
# 데이터 앞부분 5개 행 확인 | |||
exam.head() | exam.head() | ||
# 데이터 뒷부분 5개 행 확인 | |||
exam.tail() | exam.tail() | ||
# 요약 정보 확인 (행/열 개수, 데이터 타입, 결측치 등) | |||
exam.info() | exam.info() | ||
# 수치형 데이터의 요약 통계량 확인 (평균, 표준편차, 최솟값, 최댓값 등) | |||
exam.describe() | exam.describe() | ||
# 특정 열(Column) 추출하기 | |||
exam['math'] | exam['math'] | ||
# 특정 조건에 맞는 행(Row)만 추출하기 (예: 수학 점수가 60점 이상인 학생) | |||
exam[exam['math'] >= 60] | exam[exam['math'] >= 60] | ||
# 수학 점수 기준 오름차순 정렬 | |||
exam.sort_values('math') | exam.sort_values('math') | ||
# 수학 점수 기준 내림차순(높은 순) 정렬 | |||
exam.sort_values('math', ascending=False) | exam.sort_values('math', ascending=False) | ||
# 총점(total)과 평균(mean) 열 생성 | |||
exam['total'] = exam['math'] + exam['english'] | |||
exam[' | exam['mean'] = (exam['math'] + exam['english']) / 2 | ||
</syntaxhighlight> | |||
[[분류:프로그래밍과 데이터]] | |||