오늘은 Pandas 모듈을 사용하여 데이터프레임을 탐색하고 출력하는 방법에 대해 알아보겠습니다.
데이터프레임을 출력하는 것뿐만 아니라 각종 통계치를 확인하거나 정보를 확인할 수 있습니다.
데이터프레임 탐색
[데이터프레임 생성]
import pandas as pd
data1 = {"연도": range(2000, 2010),
"성적": [90, 80, 70, 80, 85, 90, 75, 80, 90, 85]}
df = pd.DataFrame(data1)
탐색하기에 앞서서 일단 간단한 데이터프레임을 만들어보았습니다.
[앞의 행 출력]
df.head()

head 함수를 통해 맨 위 행부터 5개의 행을 출력할 수 있습니다.
괄호 안에 숫자를 넣으면 맨 위 행부터 입력한 숫자만큼의 행을 출력합니다.
[뒤의 행 출력]
df.tail()

tail 함수를 통해 맨 아래 행부터 5개의 행을 출력할 수 있습니다.
마찬가지로 괄호 안에 숫자를 넣으면 맨 아래 행부터 입력한 숫자만큼 행을 출력합니다.
[특정 데이터 출력]
df["성적"].unique()
## array([90, 80, 70, 85, 75], dtype=int64)
unique 함수를 이용하면 컬럼이 가지고 있는 겹치지 않는 값을 보여줍니다.
df.columns
## Index(['연도', '성적'], dtype='object')
columns 함수를 통해 컬럼명을 출력할 수 있습니다.
df.values
## array([[2000, 90],
## [2001, 80],
## [2002, 70],
## [2003, 80],
## [2004, 85],
## [2005, 90],
## [2006, 75],
## [2007, 80],
## [2008, 90],
## [2009, 85]], dtype=int64)
values 함수를 통해 데이터를 출력할 수 있습니다.
[데이터프레임 구조 확인]
df.shape
## (10, 2)
shape 함수는 데이터프레임의 구조를 출력합니다. 괄호 안의 첫 번째 숫자는 데이터프레임의 행을, 두 번째 숫자는 데이터프레임의 열을 나타냅니다.
[통계치 확인]
df.describe()

describe 함수를 통해 데이터프레임 내의 데이터의 각종 통계치를 확인할 수 있습니다.
확인 결과 성적 데이터 개수는 10개이고, 평균은 82.5점, 표준편차는 약 6.77점, 최솟값은 70점, 중앙값은 82.5점, 최댓값은 90점임을 한눈에 볼 수 있습니다.
[데이터프레임 정보 확인]
df.info()

info 함수를 통해 데이터프레임의 정보를 확인할 수 있습니다.
컬럼 명, Non-Null 데이터 개수, 데이터 타입을 볼 수 있습니다.
[결측치 확인]
df.isna()

isna 함수를 통해 결측치 여부를 확인할 수 있습니다.
True가 결측치라는 것이고 False는 결측치가 아니라는 것입니다.
df.isna().sum()
## 연도 0
## 성적 0
## dtype: int64
이전의 방법으로는 결측치 여부를 확인하기 어려워서 위의 방법을 더 많이 사용합니다.
isna 함수 뒤에 sum 함수를 붙이면 각 컬럼 별 결측치의 개수를 확인할 수 있습니다.
[데이터 개수 확인]
df["성적"].value_counts()
## 90 3
## 80 3
## 85 2
## 70 1
## 75 1
## Name: 성적, dtype: int64
value_counts 함수를 통해 각 데이터의 개수를 파악할 수 있습니다.
오늘은 Pandas 모듈을 사용하여 데이터프레임을 탐색하고 출력하는 방법에 대해 알아보았습니다.
코랩이나 주피터노트북에서 직접 실습해 보시길 바랍니다.
'정보 > 프로그래밍' 카테고리의 다른 글
[Python, R] 사용자가 지정한 순서로 정렬하기 (4) | 2023.12.26 |
---|---|
[Pandas] 데이터프레임 정렬, 선택, 삭제 문법 및 사용법 정리 (0) | 2022.07.10 |
[Pandas] 데이터프레임 생성 문법 및 사용법 정리 (0) | 2022.07.01 |
[NumPy] 주요 기능 문법 및 사용법 정리 (0) | 2022.06.29 |
[Numpy] 주요 연산 문법 및 사용법 정리 (0) | 2022.06.28 |