※ 아래 내용은 인프런 강의 공공데이터로 파이썬 데이터 분석 시작하기 강의로 부터 작성된 코드 요약본 입니다.
1. 데이터를 로드하기 위해 pandas 라이브러리 불러오기
import pandas as pd
2. 데이터 로드
- 데이터 불러오기(인코딩)
df = pd.read.csv("데이터 경로")
# 한글이 포함된 파일의 경우 인코딩이 필요함
df = pd.read.csv("데이터 경로", encoding = "cp9494" 또는 "utf-8")
- 데이터 살펴보기
# 데이터프레임의 행과 열의 수
df.shape
shape함수를 통해 출력되는 숫자로 차례대로 행과 열의 개수이다.
# 데이터프레임에서 상단에 위치한 데이터 5개를 미리보기
df.head()
df.head(5)
# 데이터프레임에서 하단에 위치한 데이터 5개를 미리보기
df.tail()
df.tail(5)
head와 tail 함수를 통해 상단, 하단에 위치한 데이터를 미리보기할 수 있다. 괄호 안에 숫자를 입력하면 숫자 만큼의 데이터를 미리보기할 수 있다.
- 데이터 요약하기
df.info()
info 함수를 통해 데이터의 형태, 각 변수에 데이터 수, 데이터 타입 등을 확인할 수 있다.
- 결측치 보기
# null 값 확인
df.isnull()
데이터 프레임에서 데이터가 null이 아니면 False, null이면 True를 출력한다.
isnull 함수를 쓰면 전체 데이터 프레임을 통해서만 확인할 수 있기 때문에 각 변수에서 null값이 몇개 있는지 확인하기 위해 합계를 구해야 한다. 이는 True = 1, False = 0임을 이용한다.
df.isnull().sum()
위와 같은 방법으로 na인 데이터를 알아보고, 각 변수에 따른 개수를 확인할 수 있다
# NA값 확인
df.isna()
df.isna().sum()
- 데이터 타입 변경
예를들어 특정 변수의 값을 숫자(int)타입으로 변경하는 경우 아래와 같이 작성할 수 있다.
df["변수명"].astype(데이터 타입)
pd.to_numeric(df["변수명"])
위 방법에서 컬럼에 공백문자가 포함되어 있는 경우 데이터 타입 변경이 불가능하다. 따라서 to_numeric 함수에서 error 옵션을 'coerce'로 설정하여 값을 강제로 바꿀 수 있다. 다만 강제로 변환했을 때 NaN값이 포함되어 있기 때문에 모든 값의 dtype은 float64로 변환이 된다.
pd.to_numeric(df["변수명"], errors = 'eoerce')
- 변수 요약하기
df["변수명"].describe()
문자열 정보가 담긴 컬럼의 경우 아래와 같은 정보가 담겨있다.
count : 변수 내 데이터 개수
unique : unique한 값의 개수
top : 변수 내 가장 빈번하게 나타나는 문자
freq :변수 내 가장 빈번하게 나타나는 문자의 빈도 수
숫자 정보가 담긴 컬럼의 경우 아래와 같은 정보가 담겨있다.
count : 변수 내 데이터 개수
mean : 데이터의 평균 값
std : 데이터의 표준 편차 값
min : 데이터의 최솟값
25% : 데이터 내 1분위 수
50% : 데이터 내 2분위 수 (중앙값)
75% : 데이너 내 3분위 수
max : 데이터 내 최댓값
- 문자열 데이터 수정하기
컬럼 내 문자열에서 특정 문자(A)를 포함된 문자열에서 다른 문자(B)로 수정하는 경우
df["변수명"].str.replace("A","B")
컬럼 내 문자열에서 특정 문자(A)를 삭제할 경우
df["변수명"].str.replace("A","")
- 필요 없는 컬럼 제거하기
# axis = 0 : 행, axis = 1 : 열
df.drop(["변수명"], axis = )
axis 옵션에서 0일 경우 행을 기준으로 삭제되고, 1일 경우 열을 기준으로 삭제된다. 컬럼을 삭제할 경우 axis = 1을 입력한다.
- 컬럼을 기준으로 데이터 집계하기 - groupby
df.groupby(["기준 변수"]).연산함수
특정 컬럼을 기준으로 연산값을 구할 때 groupby함수를 사용한다.
df.groupby(["기준 변수"])["계산 할 변수"].연산함수
여기서 기준 변수는 2개 이상이 될 수 있다. 또한 groupby결과를 dataframe으로 나타내기 위해선 unstack함수를 사용한다
df.groupby(["기준 변수1", "기준 변수2"])["계산 할 변수"].연산함수.unstack()
위의 결과에서 행과 열을 바꿀땐 transpose 함수를 추가한다.
- 컬럼을 기준으로 데이터 집계하기 - pivot
pd.pivot_table(df, index = ["기준변수"], values = ["계산할 변수"], aggfunc = "연산")
groupby에서 처럼 기준 변수는 2개 이상일 수 있다.
pd.pivot_table(df, index = ["기준 변수1", "기준 변수2"], values = "계산 할 변수", gaafunc = "연산")
pivot_table은 결과가 자동으로 데이터프레임 형태로 출력된다.
'Study > Python' 카테고리의 다른 글
[python] 지역 경계 데이터 전처리를 위한 Geopandas 설치하기 (0) | 2022.06.09 |
---|---|
[Python] 데이터 시각화 - plot,barplot, boxplot (+ matplotlib, plot 한글 설정) (0) | 2021.11.27 |
[Python]Pandas basic 파이썬 판다스 기초 : map, applymap 함수 활용하기 (0) | 2021.08.18 |
[Python]Pandas basic 파이썬 판다스 기초 : apply 활용하기 (0) | 2021.08.18 |
[Python]Pandas basic 파이썬 판다스 기초 : 데이터 그룹 만들기, 중복 데이터 삭제 (0) | 2021.08.12 |