1. 데이터 로드 및 구조 확인
| 기능 |
Python (Pandas) |
R |
| 데이터 불러오기 |
pd.read_csv("file.csv") |
read.csv("file.csv") |
| 행렬 크기 확인 |
data.shape |
dim(data) |
| 컬럼명 확인 |
data.columns |
colnames(data) |
| 기초 통계량 |
data.describe() |
summary(data) |
| 데이터 요약 정보 |
data.info() |
str(data) |
2. 데이터 전처리 및 가공
| 기능 |
Python (Pandas) |
R |
| 데이터 정렬 |
sort_values(by=['C1'], ascending=False) |
data[order(-data$C1), ] |
| 중복 제거 값 |
data['col'].unique() |
unique(data$col) |
| 상관관계 구하기 |
data.corr() |
cor(data) |
| 결측치 확인 |
data.isnull().sum() |
colSums(is.na(data)) |
| 결측치 대치(평균) |
fillna(data['col'].mean()) |
data$col[is.na(data$col)] <- mean(...) |
| 값 변경(Replace) |
replace('A', 'B') |
ifelse(data$col == 'A', 'B', data$col) |
| 타입 변경 |
astype('int64') |
as.integer(data$col) |
| 파생변수 생성 |
data.loc[cond, 'new'] = 1 |
data$new <- ifelse(cond, 1, 0) |
3. 머신러닝 프로세스
| 기능 |
Python (Scikit-learn) |
R |
| 데이터 분리 |
train_test_split(X, Y, test_size=0.3) |
createDataPartition(Y, p=0.7) |
| 스케일링(표준화) |
StandardScaler().fit_transform(data) |
scale(data) |
| 원핫 인코딩 |
pd.get_dummies(data['col']) |
dummy_cols(data, select_columns='col') |
| 선형 회귀 |
LinearRegression().fit(x, y) |
lm(y ~ ., data=train) |
| 랜덤 포레스트 |
RandomForestClassifier().fit(x, y) |
randomForest(y ~ ., data=train) |
| 예측하기 |
model.predict(x_test) |
predict(model, newdata=test) |
| 확률값 예측 |
model.predict_proba(x_test) |
predict(model, type="response") |
4. 통계 검정 (제 3유형)
| 기능 |
Python (Scipy/Statsmodels) |
R |
| 단일표본 t-검정 |
stats.ttest_1samp(data, popmean) |
t.test(data, mu=160) |
| 독립표본 t-검정 |
stats.ttest_ind(a, b, equal_var=True) |
t.test(a, b, var.equal=TRUE) |
| 대응표본 t-검정 |
stats.ttest_rel(after, before) |
t.test(after, before, paired=TRUE) |
| ANOVA (분산분석) |
stats.f_oneway(a, b, c) |
aov(y ~ group, data=df) |
| 카이제곱 검정 |
stats.chi2_contingency(table) |
chisq.test(table) |
| 윌콕슨 부호검정 |
stats.wilcoxon(after, before) |
wilcox.test(after, before, paired=TRUE) |
5. 결과 저장
| 기능 |
Python (Pandas) |
R |
| CSV 저장 |
df.to_csv('res.csv', index=False) |
write.csv(df, 'res.csv', row.names=F) |
🛠️ dir() & help() 활용 가이드
1. dir() : “무슨 기능이 있지?” (목록 확인)
객체가 가지고 있는 메서드나 변수를 리스트로 보여줌. 특정 단어가 포함된 기능을 찾을 때 list comprehension과 함께 쓰면 더 강력.
| 대상 |
명령어 |
활용 목적 |
| 패키지 전체 |
print(dir(pd)) |
판다스에서 쓸 수 있는 전체 기능 확인 |
| 데이터프레임 |
print(dir(pd.DataFrame)) |
sort_values, groupby, fillna 등 메서드 확인 |
| 머신러닝 모듈 |
print(dir(sklearn.ensemble)) |
RandomForest, GradientBoosting 등 모델명 확인 |
| 전처리 모듈 |
print(dir(sklearn.preprocessing)) |
StandardScaler, LabelEncoder 등 확인 |
| 통계 검정 |
print(dir(scipy.stats)) |
ttest, chisquare, f_oneway 등 확인 |
필터링해서 찾기
Standard가 들어간 전처리 도구를 찾고 싶다면?
print([m for m in dir(sklearn.preprocessing) if 'Standard' in m])
2. help() : “어떻게 쓰지?” (사용법 확인)
함수의 파라미터, 반환값, 예제 코드를 보여줌.
| 대상 |
명령어 |
확인해야 할 주요 파라미터 |
| 데이터 정렬 |
help(pd.DataFrame.sort_values) |
by, ascending (내림차순 여부) |
| 그룹화 |
help(pd.DataFrame.groupby) |
by, as_index (인덱스 유지 여부) |
| 모델 학습 |
help(RandomForestRegressor) |
n_estimators, max_depth, random_state |
| 데이터 분할 |
help(sklearn.model_selection.train_test_split) |
test_size, stratify, shuffle |
| 통계 검정 |
help(scipy.stats.ttest_ind) |
alternative(‘less’, ‘greater’), equal_var |
3. 시험 직전 “기억 환기”용 요약 리스트
시험 시작 직후, 아래 코드들을 머릿속으로 그리거나 연습란에 메모.
# 1. 경로가 기억 안 날 때
import sklearn
print(dir(sklearn)) # 여기서 model_selection, ensemble 등을 확인
# 2. 모델 파라미터가 기억 안 날 때 (예: n_estimators인지 estimators인지)
from sklearn.ensemble import RandomForestClassifier
help(RandomForestClassifier)
# 3. 통계 검정 시 p-value 출력 형태가 궁금할 때
import scipy.stats as stats
help(stats.ttest_ind) # 결과값이 (statistic, pvalue) 순서인 것 확인
⚠️ 주의사항 (필수 체크)
- 대소문자 구분:
help(pd.dataframe)은 에러 남. 반드시 pd.DataFrame처럼 대소문자를 정확히 적어야 함.
- 괄호 제외:
help(pd.read_csv)처럼 함수 이름만 적기. help(pd.read_csv())는 함수를 실행한 결과를 도움말로 보여주려 하므로 에러가 날 확률이 높음.
- 출력 양:
help()는 내용이 매우 길어 화면을 많이 차지할 수 있으니, 필요한 부분을 확인하면 즉시 지우거나 주석 처리하여 코드를 깔끔하게 유지.