본문 바로가기

Python147

[Python] collections.Counter 로 데이터 갯수 세기 안녕하세요오늘은 collections.Counter 로 데이터 갯수 세는 방법에 대해 알아보도록 하겠습니다.데이터 분석, 로그 처리, 텍스트 마이닝을 하다 보면"이 값이 몇 번 나왔는지" 빈도수를 알고 싶을 때가 많습니다.파이썬의 collections 모듈 안에 있는 Counter 클래스를 사용하면이 작업을 아주 간단하게 처리할 수 있습니다. 전체 코드입니다. main.pyfrom collections import Counter# 1. 리스트에서 카운트하기fruits = ["사과", "바나나", "사과", "포도", "바나나", "사과"]# Counter 객체 생성 (리스트의 요소 개수를 자동으로 세어줌)fruit_counter = Counter(fruits)print("=== 과일 개수 세기 ===").. 2025. 9. 30.
[Python] 벡터 DB로 문장 검색하기 (Faiss 활용) 안녕하세요오늘은 요즘 AI 서비스에서 빠질 수 없는 두 가지 개념인 임베딩 데이터와 벡터 DB를 소개하고,간단한 실습 예제로 직접 검색기를 만들어보겠습니다. 임베딩 데이터란?임베딩(Embedding)은 텍스트, 이미지, 오디오 같은 데이터를 숫자 벡터로 바꾸는 과정입니다.예를 들어,"강아지" → [0.12, -0.98, 0.55, ...]"고양이" → [0.10, -0.95, 0.57, ...]이렇게 표현되면, 의미적으로 비슷한 데이터일수록 벡터 공간에서 가까운 위치에 있게 됩니다.따라서, 문장 유사도 계산, 검색, 추천 등에 매우 유용합니다. 벡터 DB란?벡터 DB(Vector Database)는 이렇게 만들어진 임베딩 데이터를 저장하고,특정 쿼리와 가장 유사한 벡터를 빠르게 찾아주는 데이터베이스입니다.. 2025. 9. 29.
[Python] RAG(Retrieval-Augmented Generation) 이해하기 안녕하세요 오늘은 요즘 AI 분야에서 중요한 개념 중 하나인 RAG(Retrieval-Augmented Generation) 에 대해 소개하고,간단한 예제를 함께 살펴보겠습니다. RAG란 무엇일까?LLM(대규모 언어 모델)은 방대한 데이터를 학습했지만, 실시간 최신 정보나 특정 도메인 데이터에 대해 정확하게 답하지 못할 때가 많습니다.이때 필요한 것이 바로 RAG입니다.Retrieval(검색) : 데이터베이스나 문서 저장소에서 관련 정보를 찾아옵니다.Augmented(보강) : 검색된 정보를 모델 입력에 함께 넣어줍니다.Generation(생성) : LLM이 그 정보를 참고해 더 정확하고 맥락 있는 답변을 생성합니다.즉, RAG는 검색 + 생성을 결합해 지식 있는 AI 답변을 만드는 기술입니다. RAG의.. 2025. 9. 26.
[Python] 간단한 PDF 파일 만들기 안녕하세요. 오늘은 파이썬으로 PDF 문서 생성하기 예제를 소개합니다.reportlab 라이브러리를 사용하면 텍스트, 표, 이미지 등을 포함한 PDF 파일을 쉽게 만들 수 있습니다. 1. 라이브러리 설치 pip install reportlab 2. 코드 작성하기아래 예제는 간단한 텍스트를 담은 PDF 파일을 만드는 코드입니다.from reportlab.lib.pagesizes import A4from reportlab.pdfgen import canvas# 1. PDF 파일 생성c = canvas.Canvas("example.pdf", pagesize=A4)# 2. 텍스트 추가c.setFont("Helvetica", 16)c.drawString(100, 800, "🐍 파이썬으로 만든 PDF 예제").. 2025. 9. 24.
[Python] datetime 사용하여 현재 날짜와 시간 구하기 안녕하세요오늘은 datetime 모듈을 사용해 날짜, 시간을 다뤄보도록 하겠습니다. 전체 코드입니다. main.pyfrom datetime import datetimenow = datetime.now()print("현재 시각:", now)print("연도:", now.year)print("월:", now.month)print("일:", now.day)print("시:", now.hour)print("분:", now.minute)print("초:", now.second)date_str = "2025-09-21 14:30:00"# 문자열 → datetimedt = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")print("변환된 datetime:", dt)# datet.. 2025. 9. 23.
[Python] qrcode 라이브러리로 QR 코드 만들기 안녕하세요 오늘은 파이썬으로 QR 코드 생성해보도록 하겠습니다. QR 코드는 웹사이트 링크, 명함 정보, Wi-Fi 접속 정보 등 다양한 데이터를 간단하게 담을 수 있어서 실용성이 높습니다.파이썬에서는 qrcode라는 라이브러리를 사용하면 아주 쉽게 만들 수 있습니다. 1. 먼저 qrcode 라이브러리를 설치해줍니다.이미지 처리를 위해 pillow도 함께 설치됩니다. pip install qrcode[pil] 2. 코드 작성하기 아래 예제는 간단하게 링크를 QR 코드로 변환해서 이미지 파일로 저장하는 코드입니다.import qrcode# 1. QR 코드에 담을 데이터data = "특정 웹사이트의 링크 등"# 2. QR 코드 생성qr = qrcode.QRCode( version=1, # 1 ~.. 2025. 9. 22.
[Python] any() / all() 함수 활용하기 안녕하세요오늘은 파이썬 내장함수 any() / all() 함수에 대해 알아보도록 하겠습니다. 파이썬에는 조건식을 훨씬 깔끔하게 쓸 수 있는 내장 함수 any() 와 all() 이 있습니다.이 두 함수는 리스트나 튜플 같은 반복 가능한(iterable) 자료형을 받아서, 내부 요소들의 참/거짓 여부를 간단하게 검사해줍니다. 1. any()의미: 하나라도 참(True)이면 True즉, "조건을 만족하는 게 하나라도 있냐?" 라고 묻는 느낌입니다.nums = [1, 3, 5, 7]# 하나라도 짝수가 있나?has_even = any(n % 2 == 0 for n in nums)print("짝수가 있나요?", has_even) # Falsenums2 = [1, 3, 4, 7]has_even2 = any(n % .. 2025. 9. 21.
[Python] EBU R128 기준으로 오디오 라우드니스 정규화하기 (배치 처리) TTS/ASR 데이터는 파일마다 소리가 들쑥날쑥하면 성능이 흔들릴 수 있습니다.EBU R128 (LUFS) 표준으로 라우드니스를 맞춰주면 학습/추론 안정성이 올라갑니다.아래 스크립트는 폴더 단위로 .wav 파일을 읽어 타깃 LUFS(-23, -18, -16 등)에 맞춰 정규화해서 저장합니다 1. 먼저 필요한 라이브러리를 설치해줍니다 pip install soundfile numpy pyloudnorm 2. 라우드니스 정규화 배치 스크립트 import osimport argparseimport numpy as npimport soundfile as sfimport pyloudnorm as pylndef loudness_normalize(y, sr, target_lufs=-18.0, tp_limit_d.. 2025. 9. 18.
[Python] 파이썬으로 AI 감정 분석 해보기 안녕하세요오늘은 허깅페이스(Hugging Face)의 Transformers 라이브러리를 이용해서 텍스트 감정 분석을 간단히 해보겠습니다. 요즘 AI 라이브러리들은 복잡한 모델을 직접 다루지 않아도, 파이프라인(pipeline) 이라는 인터페이스를 통해 바로 사용할 수 있도록 잘 정리되어 있습니다. 1. 환경 설정먼저 필요한 라이브러리를 설치해 줍니다.pip install transformers torch 2. 감정 분석 예제 코드from transformers import pipeline# 감정 분석 파이프라인 불러오기sentiment_analyzer = pipeline("sentiment-analysis")# 테스트할 문장들texts = [ "오늘 하루가 너무 즐거웠어!", "나는 정.. 2025. 9. 17.