😀 Language/- Python

[Pandas] EDA 자주 사용하는 코드 모아보기 😆

또방91 2022. 2. 24. 17:41
728x90

 

 

 

 

 

 

 

 

Pandas EDA 자주 사용하는 코드 모아보기 😆

 

 

 

지금까지 배우고 공부했던 pandas 함수를 정리해볼겸,

EDA를 하면서 자주 사용했던 함수를 정리해보려한다. 😉

 

Basic

import pandas as pd : 판다스 임포트 (Series와 DataFrame을 다루려면!)

import numpy as np : 넘파이 임포트 -> 주로 np.nan (결측값)을 다루기 위해서 사용

import matplotlib.pyplot as plt : 맷플롯립 임포트

import seaborn as sns : 씨본 임포트

 

Pandas 자료구조

*df = 데이터 프레임

 

* df.index : df 인덱스 확인

* df.columns: df 열 확인

* df.values: df 값 확인 

* df.shape: df 행,열 확인 (튜플형태)

* df.dtypes : df 각 열 타입확인

* df.info( ): 각열의 요약정보(열이름/유효값 / 타입)

 

* df.rename(index="바꿀이름", columns="바꿀이름"): 인덱스나 열 이름 바꾸기

* df.set_index("어떤 열로 기준으로 할지"): 인덱스로 설정할 열을 선택

* df.reset_index( ): 인덱스를 숫자 0부터 차례차례 대입해줌

* df.sort_index("인덱스이름(1개이면 안써도 무관)" ): 인덱스를 기준으로 정렬하기

-->옵션: ascending=True(오름차순)/False(내림차순)

 

* df.loc[행,열]: 인덱스 이름 기준으로 찾기

* df.iloc[행,열]: 인덱스 숫자(순서)기준으로 찾기

 

* df.drop("삭제하고 싶은 것 이름", axis=0(행)또는1(열) )

* df1.add(df2): df1과 df2 더하기

 -->옵션: fill_value = "결측치를 대체할 값"

 

 

DataFrame 살펴보기

 

*pd.read_csv("파일경로/.../파일이름.확장자") : csv 파일 불러오기 (작성하는 파일과 동일 경로일경우 "파일이름.확장자"만 기입해도 ok

-->옵션: header= 

 

* df.head( 숫자 ) : 맨위 숫자만큼 보기 (기본값 5개)

* df.tail( 숫자 ) : 맨 밑 숫자만큼 보기 (기본값 5개)

* df.describe( ) : 기술 통계 조회 개수, 평균, 표준편차, 최대값, 최소값, 중간값

-->옵션: inlude='object': 문자 데이터를 갖는 열에 대한 기술통계정보

--------- includ='all': 모든 열에 대한 기술통계정보를 요약하여 출력함

 

* df.count( ) : 각 열의 유효개수 확인

* df.unique( ): 각 열의 고유데이터 확인

* df.nuique( ): 각 열의 고유데이터 개수 확인

* df.value_counts( ): 각 열의 고유데이터의 종류 - 개수 짝지어서 확인

-->옵션: dropna=False : 결측치까지 포함해서 보여줌

 

* df.mean( ): 각 열의 평균 확인

* df.median( ): 각 열의 중간값

* df.max( ): 각 열의 최대값

* df.min( ): 각 열의 최소값

* df.std( ): 각 열의 표준편차

* df.corr( ): 열*열 상관계수

 

결측치

* df.isnull( ) : 결측값인지?아닌지? 결과는 True / False로 도출

= 같은 식: df.isna( )

* df.notnull( ): 결측값이 아닌 유효값인지?아닌지? 결과는 True / False로 도출

* df.isnull( ).sum( ): 결측치 개수구하기 (True는 1이므로 sum으로 알아낼 수 있음)

 

판다스 내장 그래프시각화 도구

( * sr: 시리즈 /  df: 데이터 프레임 ) 

 

# 한글폰트 깨짐 오류해결
plt.rc('font', family="Malgun Gothic")

# x,y축에 -(마이너스, 음수)부호 오류 해결
plt.rc("axes", unicode_minus=False)

 

* sr.plot( ): 선그래프

* df.plot( ): 선그래프

-->옵션: linewidth(선굵기), color(선색), marker(표시점모양), markersize(마커크기), linestyle(선스타일), grid(격자)

-->격자의 경우 따로 축 설정해주고 싶으면 plt.grid(True, axis=x축 또는 y축)

* df.plot.bar( ) : 막대그래프

-->옵션: rot: 축방향

 

728x90