안녕하세요 콥스랩(COBS LAB)입니다. 오늘 소개해드릴 주제는 pandas입니다. 이번시간에는 csv 파일과 DataFrame 함수등을 배워보도록 하겠습니다.
CSV 파일?
- Comma Separated Value의 약어로써, 쉼표로 구분된 파일입니다.
- 엑셀을 로딩할 수도 있지만, 쉼표로 구분된 파일이 훨씬 가볍습니다
- 공공데이터 포털에서도 CSV 포맷의 파일을 제공합니다.
csv 파일 불러오기
pandas의 read_csv() 함수를 사용하여 csv 파일을 읽고 pandas의 기본 데이터 구조인 DataFrame으로 만들어 줍니다.
import pandas as pd df = pd.read_csv ('train.csv')
df
데이터프레임 함수
데이터를 불러왔다면 기본적으로 데이터를 파악하는 과정을 거칩니다. 아래는 DataFrame으로 만들어 준 후 데이터를 확인하는데 자주 쓰이는 함수들입니다.
- df.head()
head() 함수는 불러온 데이터의 상위 5개의 행을 출력합니다. 괄호 ( ) 안에 원하는 숫자를 넣으면 그 숫자만큼 행을 출력합니다.
괄호 안에 1을 넣어 1만큼의 행을 출력하였습니다.
- df.tail()
tail() 함수는 불러온 데이터의 하위 5개의 행을 출력합니다.
- df.shape
shape은 데이터의 (행, 열) 크기를 확인하고 DataFrame의 행과 열을 튜플 형태로 반환해 주는 함수입니다. 이 df는 891개의 행과 12개의 열을 가지고 있습니다.
참고로 shape 뒤에 괄호 ()를 붙이지 않는 것을 주의해야 합니다.
- len(df)
DataFrame의 행 개수를 출력하는 함수입니다.
- df.info()
DataFrame의 summary를 출력하는 함수입니다. 각 열의 데이터 타입 (int64, float64 등등), 결측 값을 제외한 df를 구성하는 행과 열의 크기, 칼럼명, 칼럼을 구성하는 값의 자료형 등 데이터 값 개수와 메모리 사용량 등 다양한 정보를 확인할 수 있습니다.
- df.dtypes
각 열의 데이터 타입을 출력하는 함수입니다. 전체 데이터 프레임 중 특정 칼럼에 있는 데이터들의 타입이 궁금할 때 사용합니다.
dtype을 이용해서 해당 칼럼의 데이터 타입을 확인할 수 있습니다.
- df.columns
열 이름을 확인할 수 있는 함수입니다. shape과 마찬가지로 columns뒤에 괄호()를 사용하지 않습니다.
- df.describe()
describe() 함수는 다양한 통계량을 요약해 주는 편리한 함수입니다.
count - 칼럼별 총 데이터 수
max - 제일 큰 값
min - 제일 작은 값
mean - 평균값
std - 표준 편차
25%,50%,75% - 백분위 수의 각 지점으로, 분포를 반영해 평균을 보완하는 목적으로 사용합니다.
- unique()
unique()는 데이터에 고유값들이 어떠한 종류들이 있는지 알고 싶을 때 사용하는 함수입니다. 또한 열에 있는 유일한 값을 넘파이 array 형태로 출력합니다.
출력된 결과를 보면 고유한 값으로 출력된 것을 볼 수 있습니다. 데이터의 종류들을 알고 싶을 때 사용하면 유용한 함수입니다.
- value_counts()
value_counts()는 열에 있는 유일한 값과 각 값 별로 데이터의 수를 series 형태로 출력하는 함수입니다.
출력해 보면 데이터의 개수를 출력해주고 있습니다. 데이터의 고유값별로 몇 개씩 들어있는지 알고 싶을 때 유용한 함수입니다. 추가적으로 value_counts()는 기본적으로 내림차순으로 정렬을 해주게 됩니다. 따라서 오름차순으로 정렬을 하고 싶다면 ascending=True 옵션을 지정해 주면 됩니다.
다음 시간에는 NAN결측값과 index에 대해서 좀 더 자세하게 배워보도록 하겠습니다.
'pandas' 카테고리의 다른 글
pandas 기초(6) - 칼럼 배우기 part 1 (0) | 2023.01.30 |
---|---|
pandas 기초(5) - 데이터 프레임 정렬하기 (0) | 2023.01.28 |
pandas 기초(4) - loc와 iloc 차이 (2) | 2023.01.27 |
pandas 기초 (3) - pandas 인덱스 설정하는 법 (0) | 2023.01.19 |
pandas 기초 (1) - pandas 개념, DataFrame, DataFrame 생성 (0) | 2023.01.17 |
댓글