정리

이예나·7일 전

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)최솟값 계산

pandas Series / DataFrame 공통 또는 Series 중심

메서드용도
.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는 내림차순

pandas 문자열·결측치·중복·통계 메서드

메서드용도
.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 내장 그래프 생성

Python / Figure 객체 메서드

메서드용도
.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, .str
  • 모듈 함수·생성자: np.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)
  • sort_values(ascending=True) , (ascending=True) : 오름차순
  • sort_values(ascending=False) : 내림차순

.hist() : histplot
.plot(kind="bar") : bar plot

0개의 댓글