무향향수

데이터 분석 자주 쓰는 코드/함수 정리 본문

kt aivle

데이터 분석 자주 쓰는 코드/함수 정리

튼튼한장 2024. 6. 1. 16:43

import

import pandas as pd
import numpy as np
import seaborn as sns

from sklearn.model_selection import train_test_split # 테스트, 학습 데이터 분리
from sklearn.preprocessing import StandardScaler # 데이터 정규분포화, 표준화

# 모델
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier

import xgboost as xgb
from lightgbm import LGBMClassifier

# metrics
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report

 

데이터 프레임

행과 열을 모두 나타내기

 

pd.set_option('display.max_columns', None) # 열을 모두 나타냄
pd.set_option('display.max_rows', None) # 행을 모두 나타냄

 

그래프 한글 깨짐

import warnings
import matplotlib.pyplot as plt
warnings.simplefilter(action='ignore', category=FutureWarning)

plt.style.use("ggplot")
plt.rc('font', family='Malgun Gothic')

 

import matplotlib.pyplot as plt
plt.rcParams['font.family'] ='Malgun Gothic'
plt.rcParams['axes.unicode_minus'] =False

 

Pandas

shape: 데이터프레임 모양 확인

df.shape

 

 

info(): 인덱스, 열, 값 개수, 데이터 형식 정보 등 확인

df.info()

 

describe(): 기초 통계 정보 확인

df.describe()

 

 

데이터 정렬!

sort_index() & sort_values()

df.sort_index() # 인덱스 기준 정렬

df.sort_values(by='univ', ascending=False) # univ열을 기준으로 내림차순

df.sort_values(by=['univ', 'mid'], ascending=[False, False]) # 각 열을 기준으로 모두 내림차순

 

고유값 확인!

unique() & value_counts()

df['color'].unique() # color열의 고유값 확인

df['weekday'].value_counts() # weekday열의 고유값과 개수 확인

 

 

조건으로 조회!
isin() & between()

df.loc[df['weekday'].isin(['sun','fri'])] # weekday열의 값이 sun, fri인 데이터만 조회

df.loc[df['day'].between(1, 4)] # 값이 1 ~ 4 범위 안의 데이터만 조회

 

 

groupby()

df.groupby('day')[['tip'].sum() # 결과가 데이터프레임으로 됨

 

agg()

df.groupby('day')['tip'].agg(['sum', 'mean', 'max', 'min'])
# 열 하나에 합계, 평균 등의 집계를 한 번에 수행 가능

df.groupby('day').agg({'total_bill':'mean', 'tip':'sum'})
# 열 이름:집계방법 형태의 key:value를 갖는 딕셔너리 형태로 지정