import os
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
\
맥 애플고딕 설정
plt.rcParams['font.family'] = 'AppleGothic'
plt.rcParams['axes.unicode_minus'] = False # 마이너스 기호 깨짐 방지
df.corr(numeric_only=True)
: 데이터프레임 내의 모든 숫자형 컬럼들 간의 상관계수를 행렬 형태로 계산하는 코드
1.0에 가까울수록 (양의 상관관계): 한 컬럼의 값이 커질 때, 다른 컬럼의 값도 같이 커짐 - -1.0에 가까울수록 (음의 상관관계): 한 컬럼의 값이 커질 때, 다른 컬럼의 값은 작아짐
(상관관계를 시각적 색상으로 나타낸 코드)
plt.matshow(df.corr(numeric_only=True))
plt.colorbar()
plt.show()
.describe()
: 데이터프레임에 포함된 모든 숫자형 컬럼의 핵심 기술 통계량을 요약해서 보여주는 메서드
- count: 결측치(NaN)를 제외한 데이터의 개수
- mean: 데이터의 평균값
- std: 표준편차
- min: 최솟값
- 25%: 제 1사분위수
- 50%: 중앙값 (Median)
- 75%: 제 3사분위수
- max: 최댓값
\- .columns: 데이터프레임에 존재하는 모든 컬럼 이름을 Index 형태로 가져옴
- .unique(): 가져온 컬럼 이름 목록에서 중복제거한 뒤 유니크한 목록을 반환
- .hist(): 데이터프레임에 포함된 숫자형 데이터의 분포를 히스토그램으로 시각화할 때 사용
- .to_frame(): Series를 DataFrame으로 변환할 때 사용하는 메서드
- .random.seed(): 난수 생성기가 항상 동일한 무작위 숫자를 만들어내도록 기준점을 고정하는 코드
- .drop_duplicates(subset=[""]) : ""안에있는 이름의 데이터의 중복제거
- ascending=False : 내림차순 (높은순서대로)
- ascending=True : 오름차순 (낮은숭서대로)
df.columns.unique(): 데이터프레임의 컬럼 이름에서 중복을 빼고 고유한 이름들만 반환하는 메서드
NumPy ndarray
| 메서드 | 용도 |
|---|---|
.astype(dtype) | 배열 원소의 자료형 변환 |
.reshape(shape) | 원소 수를 유지하며 배열 모양 변경 |
.ravel(order='C') | 배열을 1차원으로 펼침(가능하면 뷰) |
.flatten() | 배열을 1차원 복사본으로 펼침 |
.squeeze() | 크기가 1인 축 제거 |
.argmax(axis=None) | 최댓값의 인덱스 반환 |
.argmin(axis=None) | 최솟값의 인덱스 반환 |
.max(axis=None) | 최댓값 계산 |
.min(axis=None) | 최솟값 계산 |
| 메서드 | 용도 |
|---|---|
.copy() | 원본과 분리된 복사본 생성 |
.unique() | 고유값 반환 |
.count() | 결측값을 제외한 개수 계산 |
.value_counts() | 값별 빈도 계산 |
.head(n=5) | 앞쪽 n개 확인 |
.tail(n=5) | 뒤쪽 n개 확인 |
.drop(labels, inplace=False) | 지정 행/열/라벨 삭제 |
.groupby(by) | 기준에 따라 그룹화 |
.sum() | 합계 계산 |
.mean() | 평균 계산 |
.apply(func) | 각 값 또는 그룹에 함수 적용 |
.to_list() | Python 리스트로 변환 |
.to_dict() | Python 딕셔너리로 변환 |
.to_frame(name=None) | Series를 한 열 DataFrame으로 변환 |
.agg(func_or_funcs) | 하나 또는 여러 집계 함수 적용 |
.sort_values(ascending=True) | 값 기준 정렬. 기본은 오름차순, ascending=False는 내림차순 |
.sort_index(ascending=True) | 인덱스 기준 정렬. 기본은 오름차순, ascending=False는 내림차순 |
| 메서드 | 용도 |
|---|---|
.str.contains(pattern) | 문자열 패턴 포함 여부를 True/False로 반환 |
.info() | dtype·결측치 등을 포함한 구조 요약 |
.describe() | 기술통계량 요약 |
.isna() | 결측값 여부 반환 |
.dropna() | 결측값이 있는 행/열 제거 |
.fillna(value) | 결측값 대체 |
.mode() | 최빈값 반환 |
.median() | 중앙값 계산 |
.duplicated(subset=None) | 중복 행 여부 반환 |
.drop_duplicates(subset=None) | 중복 행 제거 |
.quantile(q) | 지정 분위수 계산 |
.reset_index(drop=True) | 인덱스 재설정 |
.corr(numeric_only=True) | 수치형 열 간 상관계수 계산 |
.idxmin() | 최솟값을 가진 인덱스 라벨 반환 |
.hist(bins=...) | 히스토그램 생성 |
.plot(kind='bar') | pandas 내장 그래프 생성 |
| 메서드 | 용도 |
|---|---|
.split(sep) | 문자열을 구분자로 나눠 리스트 반환 |
fig.add_subplot(rows, cols, index) | Figure에 서브플롯(Axes) 추가 |
ax.hist(x) | 해당 Axes에 히스토그램 생성 |
ax.plot(x, y=None) | 해당 Axes에 선 그래프 생성 |
ax.scatter(x, y) | 해당 Axes에 산점도 생성 |
ax.bar(x, height) | 해당 Axes에 막대 그래프 생성 |
.shape, .ndim, .size, .dtype, .values, .index, .columns, .T, .loc, .iloc, .strnp.array(), np.arange(), np.sum(), pd.Series(), pd.DataFrame(), pd.read_csv(), plt.plot() 등plt.subplot(), plt.figure() 등은 메서드가 아니라 pyplot 모듈의 함수다.# DataFrame: Age 열의 값 기준
df.sort_values('Age') # 오름차순
df.sort_values('Age', ascending=False) # 내림차순
# Series: 값 기준
s.sort_values()
s.sort_values(ascending=False)
# 인덱스 기준
df.sort_index()
df.sort_index(ascending=False)
.hist() : histplot
.plot(kind="bar") : bar plot