🚀 Colab 한글 폰트 설정 가이드 v2.4.0
📋 간단한 사용법
✨ 한 번만 실행하면 끝!
방법
from urllib.request import urlretrieve; urlretrieve("https://raw.githubusercontent.com/c0z0c/jupyter_hangul/master/helper_c0z0c_dev.py", "helper_c0z0c_dev.py")
import helper_c0z0c_dev as helper # 한번에 모든 설정 완료
🎉 출력 예시:
🚀 Jupyter/Colab 한글 환경 설정 중... (helper v2.4.0)
✅ 한글 폰트 및 pandas 확장 기능 설정 완료
🎉 사용 가능: 한글 폰트, CSV 읽기, DataFrame.head_att(), 캐시 기능
🧪 베타 버전 (최신 기능 테스트)
# 베타 버전 - 실험적 기능 포함
from urllib.request import urlretrieve; urlretrieve("https://raw.githubusercontent.com/c0z0c/jupyter_hangul/refs/heads/beta/helper_c0z0c_dev.py", "helper_c0z0c_dev.py")
import helper_c0z0c_dev as helper
🎯 핵심 특징
- 즉시 사용 가능: 바로 다음 셀에서 한글 폰트 사용 가능
- 스마트 설치: 이미 설치된 폰트는 재설치하지 않음
- 💾 캐시 기능: Google Drive 연동으로 세션 종료 후에도 데이터 보존
💾 Colab에서 캐시 기능 활용
캐시 저장 위치
- 저장 위치:
/content/drive/MyDrive/cache.json
- 지속성: Google Drive 연결 시 세션 종료 후에도 보존
- 용량: Drive 용량 내에서 자유롭게 사용
# Google Drive 연결 (캐시 지속성을 위해 권장)
from google.colab import drive
drive.mount('/content/drive')
# 모델 훈련 후 저장
model = train_model()
helper.cache_save("my_model_v1", model)
# 다음 세션에서 로드
model = helper.cache_load("my_model_v1")
import matplotlib.pyplot as plt
# 바로 한글 사용 가능!
plt.title("한글 제목")
plt.xlabel("X축 라벨")
plt.ylabel("Y축 라벨")
plt.show()
� Colab 환경 특화 기능
📊 큰 데이터셋 처리 팁
# 대용량 CSV 파일을 효율적으로 읽기 (Colab 메모리 제한 고려)
df = helper.read_csv("large_file.csv", chunksize=10000) # 청크 단위로 읽기
# 읽기 옵션 활용 (메모리 절약)
df = helper.read_csv("data.csv", nrows=1000) # 첫 1000행만 읽기
df = helper.read_csv("data.csv", usecols=['col1', 'col2']) # 특정 컬럼만 읽기
🔄 세션 재시작 후 빠른 복구
# 세션이 끊어졌을 때 빠른 환경 복구
import helper_c0z0c_dev as helper
from google.colab import drive
drive.mount('/content/drive')
# 이전 작업 복구
df = helper.cache_load("work_data")
model = helper.cache_load("trained_model")
results = helper.cache_load("analysis_results")
📈 GPU/TPU 환경에서의 활용
# GPU 사용 시 캐시를 통한 효율적인 데이터 관리
import torch
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
# 모델을 GPU로 이동 후 캐시 저장
model.to(device)
helper.cache_save("gpu_model", model.cpu()) # CPU로 이동 후 저장
# 다음 세션에서 GPU로 복구
model = helper.cache_load("gpu_model").to(device)
�🎨 제공되는 기능들
✅ 포함된 기능
- 🎨 한글 폰트 설정 (matplotlib)
- 📊 pandas 확장 기능
- 📁 파일 읽기 유틸리티
- 🔍 유틸리티 함수들
- 💾 캐시 기능
- ☁️ Google Drive 연결 (Colab)
한글 폰트 지원
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 6))
plt.plot([1, 2, 3, 4], [1, 4, 2, 3])
plt.title('한글 제목')
plt.xlabel('X축 한글')
plt.ylabel('Y축 한글')
plt.show()
pandas 확장 기능
import pandas as pd
df = pd.DataFrame({'이름': ['김철수', '이영희'], '나이': [25, 30]})
# 컬럼 설명 추가 - v2.4.0 개선된 기능
df.set_head_att({'이름': '사용자 이름', '나이': '사용자 나이'})
# 한글 설명과 함께 출력 (다양한 형식 지원)
df.head_att() # 기본 print 형식
df.head_att(out='html') # HTML 형식 (Colab에서 예쁘게 표시)
df.head_att(out='str') # 문자열 형식
# Series도 지원
series = df['이름']
series.set_head_att('이름', '사용자 이름')
series.head_att(out='html')
캐시 기능 (v2.4.0 신기능)
# 분석 결과 저장 (Colab Drive 연동)
analysis_result = {"accuracy": 0.95, "loss": 0.05}
helper.cache_save("ml_result_v1", analysis_result)
# 큰 DataFrame 저장
large_df = pd.read_csv("huge_dataset.csv")
helper.cache_save("processed_data", large_df)
# 다음 세션에서 빠른 로드
result = helper.cache_load("ml_result_v1")
df = helper.cache_load("processed_data")
# 캐시 관리
helper.cache_list() # 저장된 항목 목록
helper.cache_clear() # 전체 캐시 삭제
DataFrame 커밋 기능 (v2.4.0 신기능)
# DataFrame을 git처럼 버전 관리
df.commit("원본 데이터 로드")
df.commit("결측치 제거 완료")
df.commit("피처 엔지니어링 적용")
# 커밋 히스토리 조회
df.commit_list()
# 특정 커밋 관리
df.commit_rm(0) # 첫 번째 커밋 삭제
df.commit_has("abc123") # 해시로 커밋 존재 확인
파일 읽기 함수
# 기본 사용법 (Colab/로컬 자동 감지)
df = helper.pd_read_csv('data.csv')
# pandas.read_csv의 모든 옵션 지원
df = helper.pd_read_csv('data.csv', encoding='utf-8', sep=',')
df = helper.pd_read_csv('한글파일.csv', encoding='cp949')
# 다양한 입력 타입 지원
# 1) 로컬 파일 경로 (Colab에서 자동 경로 변환)
df = helper.pd_read_csv('data/sample.csv')
# 2) URL (그대로 전달)
df = helper.pd_read_csv('https://example.com/data.csv')
# 3) 파일 객체 (그대로 전달)
with open('data.csv', 'r') as f:
df = helper.pd_read_csv(f)
# 4) StringIO 객체 (그대로 전달)
from io import StringIO
csv_string = "이름,나이\n김철수,25\n이영희,30"
df = helper.pd_read_csv(StringIO(csv_string))
캐시 기능
# 머신러닝 실험에서 캐시 활용
params = {'alpha': 0.1, 'n_estimators': 100, 'random_state': 42}
cache_key = helper.cache_key(params)
# 캐시에서 모델 로드 또는 새로 훈련
if helper.cache_exists(cache_key):
print("캐시에서 모델 로드")
model = helper.cache_load(cache_key)
else:
print("새로운 모델 훈련 및 캐시 저장")
model = RandomForestClassifier(**params)
model.fit(X_train, y_train)
helper.cache_save(cache_key, model)
# 캐시 관리
helper.cache_list() # 저장된 캐시 목록
helper.cache_info() # 캐시 저장 위치 정보
helper.cache_size() # 캐시 디렉토리 크기
# Colab에서는 Google Drive에 영구 저장
# 경로: /content/drive/MyDrive/cache.json
❓ 자주 묻는 질문
Q: 한글이 여전히 깨져요
A: helper.setup()
을 다시 실행해보세요. 크로스 플랫폼 지원이 강화되어 대부분 즉시 해결됩니다.
Q: 캐시 파일이 너무 커져요
A: helper.cache_size()
로 크기를 확인하고, helper.cache_clear()
로 불필요한 캐시를 정리하세요.
Q: Google Drive 용량이 부족해요
A: 캐시 저장 위치를 변경하거나 helper.cache_list()
로 불필요한 항목을 확인하여 삭제하세요.
Q: 세션이 끊어져도 캐시가 유지되나요?
A: 네! Google Drive가 연결되어 있으면 /content/drive/MyDrive/cache.json
에 영구 저장됩니다.
Q: 설정이 적용되지 않아요
A: helper.setup()
을 다시 실행하세요. 개선된 UTF-8 설정이 자동으로 적용됩니다.
Q: DataFrame의 한글 컬럼 설명이 안 보여요
A: df.head_att(out='html')
을 사용하면 Colab에서 예쁘게 표시됩니다.
Q: 캐시된 데이터를 다른 환경에서도 사용할 수 있나요?
A: 네! Windows, Ubuntu, Mac 모든 환경에서 호환됩니다.
Q: 캐시 기능을 사용하고 싶어요
A: helper.cache_key()
, helper.cache_save()
, helper.cache_load()
함수를 사용하세요. Colab에서는 Google Drive에 자동 저장됩니다.
Q: 캐시 저장 위치가 궁금해요
A: Colab에서는 /content/drive/MyDrive/cache.json
에 저장되며, helper.cache_info()
로 확인 가능합니다.
🔧 문제 해결
Google Drive 인증 오류 해결
helper.setup() # 다시 실행하면 해결
수동 설정 방법
# 1. 폰트 다운로드만
helper.font_download()
# 2. 폰트 로딩만
helper.load_font()
# 3. pandas 확장만
helper.set_pandas_extension()
환경별 경로 확인 및 파일 읽기
# 현재 환경 확인 (개선된 환경 감지)
if helper.is_colab:
print("Colab 환경")
print("캐시 위치: /content/drive/MyDrive/cache.json")
else:
print("로컬 환경")
print("캐시 위치: ./cache.json")
# 파일 읽기 테스트 (크로스 플랫폼 지원)
df1 = helper.pd_read_csv('test.csv') # 자동 경로 변환
# URL은 그대로 전달
df2 = helper.pd_read_csv('https://raw.githubusercontent.com/user/repo/data.csv')
# 캐시 기능 테스트 (DataCatch 시스템)
params = {'test': True, 'version': 'latest'}
cache_key = helper.cache_key(params)
helper.cache_save(cache_key, df1)
cached_df = helper.cache_load(cache_key)
print(f"캐시된 데이터 형태: {cached_df.shape}")
# 캐시 상태 확인
print(f"캐시 항목 수: {len(helper.cache_list())}")
print(f"캐시 디렉토리 크기: {helper.cache_size()}")
📞 지원
문제가 지속되면 다음을 확인하세요:
- 최신 버전 사용 여부 (
helper.__version__
확인) helper.setup()
재실행- 네트워크 연결 상태
- Google Drive 접근 권한 (Colab 환경)
💡 팁
- 대부분의 문제는
helper.setup()
으로 해결됩니다 - 캐시 관련 문제는
helper.cache_clear()
로 초기화해보세요 - Windows, Ubuntu, Mac 모든 환경을 지원합니다
작성자: 김명환 | 날짜: 2025.01.01 | 버전: v2.4.0