Python

파이썬 언어 기능, 표준 라이브러리, 실전 팁.

파이썬 언어 기능, 표준 라이브러리, 실전 팁.

47 posts · 아카이브에서 필터로 보기

[가이드] Claude Agent SDK 입문: Claude Code 연동부터 첫 실행과 서비스 배포까지

Claude Agent SDK로 무엇을 만들 수 있을까요? 폴더를 읽고 문서를 정리하거나, 데이터 분석 결과를 검토하고 보고서를 만드는 일을 생각해 보겠습니다. 일반적인 채팅에서는 사람이 자료를 골라 전달하고 답변을 다시 파일로 옮깁니다. 에이전트 애플리케이션은 이 사이의 작업을 도구 호출로 수행합니다. Claude Agent SDK는 Claude ...

[Repo Review] Hermes Agent: 도구 실행과 기억을 연결하는 에이전트 런타임

들어가며: 답변 이후에도 남아야 하는 것 도구를 호출하는 AI 에이전트는 하나의 질문에도 여러 번 모델과 통신합니다. 파일을 읽고, 명령을 실행하고, 결과를 다시 모델에 전달하는 동안 대화 기록은 계속 늘어납니다. 프로세스가 중단되었을 때 어디까지 실행했는지 남아 있어야 하고, 다음 대화에서는 이전에 익힌 작업 절차를 다시 활용할 수 있어야 합니다....

🧪 내가 보려고 작성한 pytest 가이드

https://youtu.be/cHYq1MRoyI0 본 포스팅은 아래 자료들을 참고해서 작성되었습니다. Pytest Tutorial – How to Test Python Code pytest documentation TL;DR 📝 pytest란? pytest는 파이썬 대표 테스트 프...

🐍 내가 보려고 작성한 *args, **kwargs, 그리고 **vars(args) 파이썬 함수 인자 정리

👋 들어가며 Python으로 데이터를 다루다 보면 함수에 인자를 유연하게 넘겨야 하는 상황이 자주 생깁니다. 특히 다음과 같은 경우죠: 인자의 개수가 많아서 일일이 쓰기 귀찮을 때 argparse로 파싱한 커맨드라인 인자를 함수에 넘기고 싶을 때 재사용성과 유지보수가 좋은 함수를 만들고 싶을 때 이럴 때 args, kwargs...

[가이드] Ollama + LangChain 실전 가이드 - ChatOllama 사용하기

이전 포스트에서는 Python 코드에서 Ollama 명령어를 활용하여 로컬에서 LLM을 호출하는 방법을 알아보았습니다. [이전 포스트 보러가기](https://velog.io/@euisuk-chung/%EA%B0%80%EC%9D%B4%EB%93%9C-Python%EC%97%90%EC%84%9C-Ollama-%EC%82%AC%EC%9A%A9...

[가이드] Python에서 Ollama 사용하기: 설치부터 AI 에이전트 만들기

🌟 개요 Ollama는 로컬 환경에서 대규모 언어 모델(LLM, Large Language Model)을 간단히 실행하고 Python 프로젝트에 통합할 수 있도록 도와주는 프레임워크입니다. 해당 포스트에서는 Ollama의 설치 방법부터 Python SDK 사용법, 실제 활용 예제(챗봇 구현, 자동화 에이전트 개발)까지 단계별로 살펴봅니다. (사용...

[개념] API에 대해서 이해해보자!

이미지 출처: https://appmaster.io/ko/blog/cobojareul-wihan-api-apireul-sayonghaneun-bangbeob-wanjeonhan-gaideu 1. API는 무엇인가? 💡 API는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)의 줄임말로...

💻 내가 보려고 작성한 UV 완벽 가이드

UV: Rust 기반 초고속 Python 환경 관리 도구 완벽 가이드 UV는 Rust로 구현된 초고속 Python 환경 관리 도구로, Python 개발 환경을 가장 빠르고 간단하며 강력하게 관리할 수 있습니다. 기존의 여러 도구들(pyenv, pip, pipenv, venv 등)을 하나로 통합했습니다. (깃허브) https://github.c...

[개념정리] Streamlit👑 소개 및 활용 가이드

1. Streamlit이란? Streamlit은 Python 기반의 오픈소스 웹 애플리케이션 프레임워크로, 데이터 사이언스 및 머신러닝 모델을 빠르게 배포하고 공유할 수 있도록 설계된 도구입니다. Flask, Django 같은 전통적인 웹 프레임워크보다 훨씬 간결한 코드로 대시보드를 구축할 수 있습니다. 머신러닝 모델의 입력과 출력을 ...

[Pandas] 판다스 피클(.pkl) 파일의 압축 방식 비교

Pandas에서 데이터를 저장하고 로드하는 방법 중 하나로 .pkl(pickle) 파일을 사용할 수 있습니다. Pickle 파일은 Python 객체를 직렬화(serialize)하여 저장하는 방식으로, 데이터를 바이너리 형식으로 변환하여 효율적으로 저장할 수 있습니다. (참고) “데이터 직렬화“란 데이터를 저장 매체에 저장할 수 있는 형식 또는...

[파이썬] 데코레이터(Decorator) 사용법

메리크리스마스 여러분!!‧₊˚🎄✩ 크리스마스 트리를 장식할 때, 가장 중요한 건 뭐니 뭐니 해도 트리 자체입니다. 하지만 단순한 나무에 예쁜 전구, 리본, 장난감을 더하면 특별한 분위기를 연출할 수 있죠. 데코레이터도 마찬가지입니다! 기본 함수에 원하는 장식을 덧붙여서, 함수의 전후를 꾸미거나 새로운 기능을 추가할 수 있습니다. 이번 포스트에서는 크...

[정리] OpenAI API Document

OpenAI는 최신 인공지능(AI) 모델과 API를 제공하여 개발자들이 다양한 AI 기능을 쉽게 애플리케이션에 통합할 수 있도록 지원합니다. 다음은 아래 platform.openai.com에서 제공하는 문서를 훑어보면서 정리한 내용입니다. 참고 문서: https://platform.openai.com/docs/overview 1. 소개 O...

[강의노트] RAG From Scratch : Overview

해당 블로그 포스트는 RAG From Scratch : Coursework 강의 파트 1 - 4 내용을 다루고 있습니다. 비디오 요약 강의 링크 슬라이드 Part 1 (개요) RAG를 소개하며, 시리즈가 기본 개념부터 고급 기술까지 다...

[파이썬] 정규표현식 활용 방법

정규표현식(Regular Expression, RegEx)은 문자열을 처리하고 패턴을 검색하거나 변형할 때 매우 유용한 도구입니다. 데이터 과학과 웹 스크래핑, 텍스트 처리 등 다양한 작업에서 문자열을 다룰 때 정규표현식은 필수적으로 사용됩니다. 이번 포스트에서는 파이썬에서 re 모듈을 사용해 정규표현식을 어떻게 활용할 수 있는지에 대해 자세히 ...

[Pandas] 실무에서 쓰려고 정리해둔 Code Snippet

파이썬의 Pandas 라이브러리는 데이터 분석 및 조작을 위한 필수 도구입니다. 특히, 데이터를 효과적으로 정렬하고 분석하는 것은 데이터 과학자의 중요한 과제 중 하나입니다. 이전 포스트들에서도 몇 번 개념 및 주요 함수들을 소개해드렸는데요. 이 글에서는 주로 사용하는 Pandas의 정렬 및 분석에 유용한 테크닉과 함께, 실무에서 바로 활용할 수 있...

[NLP] 4. Natural Language Embeddings

Natural Language Embeddings 자연어 처리(NLP)에서 텍스트 데이터를 효율적으로 다루기 위해 다양한 자연어 임베딩 기법(Natural Language Embedding)이 사용됩니다. 이번 포스트에서는 이러한 기법들을 자세히 설명하고, 각 기법의 예시를 통해 이해를 돕고자 합니다. 🔎 Text Representatio...

[NLP] 3. Natural Language Preprocessing

1. 자연어 처리(NLP) 개요 자연어 처리의 일반적인 순서 자연어 처리는 음성을 텍스트로 변환하고, 해당 텍스트를 분석 및 의미를 추출한 뒤, 이를 다시 음성으로 변환하는 과정을 포함합니다. (아래 그림 참고) 이 과정은 크게 STT(Speech to Text)와 TTS(Text to Speech)로 나뉩니다. 1.1 자연어 처리...

Prophet을 활용한 시계열 예측🔭

Prophet 소개 Facebook Prophet은 시계열 데이터의 예측을 위해 Facebook에서 개발한 오픈소스 라이브러리입니다. Prophet은 자동화된 이상 탐지 및 계절성 분석을 지원하며, 특히 비즈니스 예측(예: 매출, 사용자 수, 웹 트래픽 등)에 유용합니다. 링크: https://facebook.github.io/prophe...

[개념정리] 시계열 인과관계 분석: Granger Causality

안녕하세요😊 지난 번 포스트에서 “인과관계와 상관관계의 개념”(링크)에 대해서 살펴보았는데요. 오늘은 시계열 분석의 핵심 개념 중 하나인 ‘그랜저 인과관계(Granger causality)’에 대해 알아보고, 이를 실제 데이터에 적용해보는 시간을 가져보겠습니다. 실습에 사용할 데이터는 Kaggle 데이터 중 하나인 Advertising Sales ...

[트리] 트리 기반 ML 알고리즘

트리 기반 ML 알고리즘 트리 기반 머신러닝(ML) 알고리즘은 데이터의 특징을 기반으로 트리를 생성하여 예측(Regression) 또는 분류(Classification)를 수행하는 방법입니다. 이 알고리즘은 루트 노드에서 시작하여 내부 노드에서 데이터를 분할하고, 리프 노드에서 최종 예측값을 산출합니다. 트리 기반 알고리즘은 데이터의 구조를 시각적으...

[파이썬] 우분투에서 한글 폰트 설치하고 matplotlib에 사용하기

안녕하세요😛 오늘은 우분투에서 한글 폰트 설치하고 matplotlib에서 해당 폰트를 사용하는 방법을 정리해보겠습니다! 파이썬을 활용하다보면 시각화는 필수 영역입니다. 그러나 Linux 환경에서는 기본적으로 한글 폰트가 설치되어 있지 않아 한글이 제대로 표시되지 않는 경우가 많습니다. 본 게시글의 제목처럼 네모네모 빔을 맞은 것처럼 깨져서 나오게 됩...

[꿀팁] Python으로 다양한 데이터 다루기

안녕하세요🤗 오늘은 Python으로 다양한 파일 형식을 불러오고 저장하는 방법을 소개하는 글을 작성해보려고 합니다! 파이썬으로 데이터 분석이나 머신러닝 작업을 하다 보면 여러 종류의 파일을 마주하게 됩니다. 특히나 LLM(Large Language Model), aka ChatGPT 시대에 접어들면서 기존에 사용하던 CSV파일 이외에도 PDF, PP...

[이탐] 통계 기반 이상탐지 알고리즘

통계 기반 이상탐지 통계적 접근 방식을 사용하여 모델이 데이터의 ‘정상적인’ 행동을 학습하고 통계적으로 이례적인 행동을 보이는 데이터 포인트를 이상치로 식별합니다. GMM (Gaussian Mixture Models) 링크: https://scikit-learn.org/stable/modules/generated/sklearn.mixture...

[이탐] 앙상블 기반 이상탐지 알고리즘

앙상블 기반 이상탐지 앙상블 기반 알고리즘은 여러 개의 의사결정 기반 모델을 조합하여 이상치를 탐지합니다. 이 방법은 일반적으로 높은 정확도를 제공합니다. Isolation Forest 링크: https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.IsolationForest....

[이탐] 밀도 기반 이상탐지 알고리즘

밀도 기반 이상탐지 밀도 기반 알고리즘은 데이터 포인트 간의 지역적 밀도를 기반으로 이상치를 탐지합니다. 이러한 알고리즘은 데이터 분포가 불균일한 경우에도 잘 작동할 수 있습니다. DBSCAN 링크: https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html ...

[이탐] 결정 경계 기반 이상탐지 알고리즘

결정 경계 기반 이상탐지 결정 경계 기반 알고리즘은 데이터의 분포를 학습하여 명확한 경계를 형성하고, 이 경계를 벗어나는 점들을 이상치로 간주합니다. OCSVM (One-Class SVM) 링크: https://scikit-learn.org/stable/modules/generated/sklearn.svm.OneClassSVM.html ...

[이탐] 거리 기반 이상탐지 알고리즘

거리 기반 알고리즘 거리 기반 알고리즘은 데이터 포인트 간의 거리를 기반으로 이상치를 탐지합니다. 데이터 포인트가 다른 포인트와의 거리가 멀다면 이상치로 간주됩니다. K-Means Clustering 기반 이상탐지 링크: https://scikit-learn.org/stable/modules/generated/sklearn.cluster.K...

[설치] pipenv로 pyenv 뽕 뽑기

지난 번 포스팅에서는 pyenv에 대해서 살펴보고 이를 리눅스 환경(+Window환경)에 설치하는 방법에 대해서 살펴봤는데요(링크) 이번 포스팅에서는 pyenv의 효과를 극대화할 수 있는 pipenv에 대해서 살펴보고, 이를 어떻게 사용할지 알아보도록 하겠습니다 🤗 1. pipenv란? 정의: pipenv는 파이썬의 의존성 관리와 가상 환경을...

[설치] pyenv 어서 오고

Anaconda(Conda)는 머신러닝, 데이터과학 분야의 다양한 라이브러리들이 설치된 런타임인 아나콘다 파이썬에서 기본적으로 제공되는 가상환경 모듈입니다. 아나콘다는 라이센스 문제가 있는 데 팀/회사 등에서 사용 시 라이센스를 구매해야 한다는 조항이 있습니다. 💡 Anaconda is a commercial distribution of Pyt...

[Conda] 활용 가이드: 효율적인 환경 관리와 Jupyter Kernel 설정

Conda는 다양한 프로젝트에 필요한 독립된 환경을 만들고 관리할 수 있는 강력한 도구입니다. 이 글에서는 Conda 환경 설정, 관리, Jupyter Notebook에서의 활용법 등 몇 가지 유용한 Conda 사용법을 소개합니다. 또한, 특정 상황에서 conda activate 대신 source activate를 사용해야 하는 경우와 그 이유에 대해...

[Conda] Miniforge를 이용한 분석 환경 설정하기 (OS: Ubuntu)

Conda 소개 Conda는 Python 및 R과 같은 프로그래밍 언어의 패키지, 의존성 및 환경 관리를 위한 오픈소스 시스템입니다. 다양한 Python 버전으로 가상 환경을 만들고 관리할 수 있으며, 데이터 과학과 기계 학습 프로젝트에 필요한 라이브러리 및 패키지를 쉽게 설치할 수 있습니다. Miniconda와 Miniforge의 차이점 ...

[파이썬] 쉽게 설명한 Process vs Thread

프로세스(Process)란? 컴퓨터에서 프로그램이 실행되고 있을 때, 그 실행 중인 프로그램을 프로세스라고 합니다. 예를 들어, 인터넷 브라우저를 열면 하나의 프로세스가 실행되고, 워드 프로세서(문서 작성 프로그램)를 열면 또 다른 프로세스가 실행되는 것이죠. 각 프로세스는 자신만의 독립된 공간을 가지며, 다른 프로세스와는 독립적으로 운영됩니다. ...

[파이썬] multiprocessing의 Pool 클래스

multiprocessing.Pool은 Python의 멀티프로세싱 모듈에서 제공하는 매우 유용한 클래스로, 병렬 처리를 위한 프로세스 풀을 관리합니다. 이 클래스를 사용하면 여러 프로세스에서 동시에 작업을 실행하는 복잡한 로직을 간단하게 처리할 수 있습니다. 본 블로그 포스트에서는 Pool의 주요 기능과 특징에 대해 자세히 설명하겠습니다. Pool...

[파이썬] Multiprocessing, Multithreading 자원 분할 및 할당

멀티프로세싱과 멀티스레딩에서 자원 분할과 작업 할당은 각각 다르게 이루어집니다. 이 과정을 이해하기 위해서는 먼저, 컴퓨터의 자원(특히 CPU와 메모리) 사용 방식과 작업의 종류(예: CPU 집약적 vs. I/O 집약적)를 고려해야 합니다. 멀티프로세싱(Multiprocessing)의 자원 분할 멀티프로세싱에서는 각 프로세스가 독립된 메모리 공간을...

[파이썬] Multiprocessing, Multithreading 사용 시 고려 사항

멀티프로세싱과 멀티스레딩을 선택할 때 고려해야 하는 작업의 특성에 대해 더 자세히 설명하겠습니다. 자원 분할 및 할당에 대해서 궁금하신 분을 다음 게시글에서 확인하실 수 있습니다. 멀티프로세싱(Multiprocessing) 멀티프로세싱은 주로 CPU 집약적인 작업에 적합합니다. 이런 작업은 계산이 많이 필요하고 CPU의 자원을 많이 사용하는 경우인...

[TS] 시계열 이상탐지 시각화

오늘의 코드 시계열 전문가로서, 시계열 데이터분석가로서 다변량 시계열 데이터를 시각화하고 이를 살펴보는 작업은 매우 중요합니다. 이에 오늘은 제가 주로 연구/업무에 사용하는 이상탐지 시각화 코드를 정리하고자 합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28...

[TS] 주/월별 초기 날짜 변환 함수

작성 사유 데이터 분석을 하다 보면, 시계열 데이터를 주간, 월간으로 쪼개서 넣어주어야 하는 경우가 생각보다 빈번하다. (ISO 주 번호 체계 기준으로 작성) 이를 위해 아래 코드를 미리 작성해서 사용에 편의성을 높이고자 한다. 함수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

파이썬 마스터하기 : 람다(Lambda) 함수

람다(lambda) 함수는 함수형 프로그래밍에서 중요한 개념 중 하나로, 익명 함수(anonymous function)라고도 부릅니다. 람다 함수는 이름이 없는 함수로, 일반적으로 함수를 한 번만 사용하거나 함수를 인자로 전달해야 하는 경우에 매우 유용하게 사용됩니다. 이번 블로그에서는 Python에서 람다 함수의 개념과 활용 예제에 대해 다루어보겠...

파이썬 마스터하기 : apply(), map(), applymap() 함수

파이썬 판다스 심화 판다스(Pandas)는 매우 다양한 함수와 메소드를 제공하기 때문에 처음 사용하면 헷갈릴 수 있는 함수들이 많습니다. 이번 포스트에서는 apply(), applymap(), map(), reduce()와 같은 헷갈릴 수 있는 함수들을 중심으로 간단한 개념과 예제를 소개해보도록 하겠습니다. 1. apply() apply() 메...

파이썬 마스터하기 : Group By 함수

파이썬 판다스 심화 판다스(Pandas)에서 Group By는 데이터를 그룹화하고 그룹화된 데이터에 대한 연산을 수행하는데 매우 유용한 기능입니다. 이번 포스트에서는 Python에서 Group By의 개념과 활용 예제에 대해 다루어보겠습니다. Group By란? Group By는 데이터를 그룹화하고 그룹화된 데이터에 대한 연산을 수행하는 기능입...

파이썬 마스터하기 : Pandas

판다스(Pandas)란? 판다스(Pandas)는 파이썬 데이터 분석 라이브러리 중 하나로, 데이터 조작, 정제, 분석, 시각화 등을 위한 다양한 기능을 제공합니다. 판다스는 시리즈(Series)와 데이터프레임(DataFrame)이라는 자료형을 이용하여 데이터를 처리합니다. 판다스 설치 판다스를 사용하려면 먼저 설치가 필요합니다. 판다스는 pip를...

파이썬 마스터하기 : Numpy

NumPy란? NumPy는 Python에서 과학 연산을 위한 가장 기본적인 패키지 중 하나입니다. NumPy는 “Numeric Python”의 약자이며 대규모 다차원 배열과 행렬 연산에 필요한 다양한 함수와 메소드를 제공합니다. NumPy는 데이터 분석, 데이터 처리, 선형 대수, 머신 러닝 등 다양한 분야에서 널리 사용되고 있습니다. NumPy의...

파이썬 마스터하기 : Jupyter

Jupyter 노트북 (Jupyter Notebook)이란? Jupyter 노트북은 데이터 분석이나 과학 연구 등에 유용한 대화형 웹 기반 코드 실행 환경입니다. Jupyter는 Julia, Python, R 등 다양한 언어를 지원합니다. 본 시각화 게시글은 주피터 노트북 환경에서 작성될 것이기 때문에 이에 대해서 가볍게 한번 정리해보고 넘어가보도록...

[알고리즘] 그래프

오늘은 알고리즘/자료구조를 공부하면서 평소 두려움에 떨며 제대로 공부하지 못했던 그래프에 대해 공부를 하며 정리해보았습니다. 공부하며 작성한 글이므로 반말이어도 양해부탁드립니다. 그래프 1. 그래프란? 그래프는 가장 일반화된 자료구조로, 연결된 객체들 사이의 관계를 잘 표현함. 그래프 이론 일반적으로 그래프와 관련된 다양한 문제를...

[머신러닝][시계열] AR, MA, ARMA, ARIMA의 모든 것 - 실습편

본 포스팅은 실제 데이터를 활용한 시계열 분석의 전반적인 프로세스 과정을 담고 있습니다. 분석 팁이나 피드백은 언제나 환영입니다!! 🙇‍♂️ 분석의 순서는 아래와 같습니다. 해당 분석은 앞에서 다룬 시계열 개념을 기반으로 분석을 수행한 것이므로 개념을 찾아보고 싶다면 제 이전 포스트에서 확인하실 수 있습니다. 참고 데이터 선정 및 전처리 ...

[파이토치] 파이토치 기초 요소 (텐서편)

오늘은 파이토치를 다루기 위해 중요한 기초 지식들 중 텐서에 대해 다루어볼 예정입니다. Source : https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.1-Scalars-Vectors-Matrices-and-Tensors/ 텐서 텐서는 ‘데이터를 표현하는 단위’입니다. ...

[Paper Review] Visualizing Data using t-SNE

선정 이유 오늘 리뷰/번역/구현할 논문은 Visualizing Data using t-SNE으로, 2008년에 Geoffrey Hinton이 저자인 논문입니다. t-SNE(t-Stochastic Nearest Neighbor)은 지금까지도 시각화를 하는 데 자주 사용되는 알고리즘입니다. 이는 고차원의 벡터로 표현되는 데이터 간의 neighbor st...