data science/python 27

if elif 쓰지 않기

종래 방법권고 방법food_item = input("Enter Food Item Name: ")def getPrice(food_item):      if food_item == "Burger":         return 100      elif food_item == "Pizza":         return 200       elif food_item == "Juice":         return 50       elif food_item == "Apple":         return 150print(getPrice(food_item))food_item = input("Enter Food Item Name: ")food_items = { "Burger":100 "Pizza":200 "Juice":..

data science/python 2025.03.04

Dijkstra Algorithm가 구현된 osmnx 라이브러리를 이용한 경로 검색

앞선 칼럼에서 경로 검색에 쓰이는 Dijkstra Algorithm 을 Python 으로 구현해 보았다.. Dijkstra Algorithm (Google map 에서도 사용하는 경로 찾기)Dijkstra Algorithm은 지도에서 가장 빠른 패스를 찾아주는 것 처럼 네트워크에서 두 지점간 가장 짧은 루트를 찾는데 쓰이는 알고리즘이다. 아래와 같은 분야에서 응용될 수 있다.GPS navigation systems fieldercoder.tistory.com이번엔 OSMnx  라이브러리를 이용하여 직접 지도와 연결해서 경로 검색을 해 보도록 하자.참고로 OSMnx 는 OpenStreetMap (오픈소스 지도 데이터)로 부터 데이터를 다운로드 받아 실 세계의 도로망과 그 외의 지리공간형태를 모델화, 투영,..

data science/python 2025.02.22

Dijkstra Algorithm (Google map 에서도 사용하는 경로 찾기)

Dijkstra Algorithm은 지도에서 가장 빠른 패스를 찾아주는 것 처럼 네트워크에서 두 지점간 가장 짧은 루트를 찾는데 쓰이는 알고리즘이다. 아래와 같은 분야에서 응용될 수 있다.GPS navigation systems finding the fastest route (가장 빠른 루트를 찾는 GPS 네비게이션)Routing data packets in computer networks (컴퓨터 네트워크에 있어서 데이터 패킷의 라우팅)Delivery services optimizing routes for efficiency (배달 서비스의 효율적인 루트 최적화)Social networks (suggesting connections) (쇼셜네트워크에 있어서 커넥션 제안)Finance (finding o..

data science/python 2025.02.21

(colab) web scrapping

웹스크래핑이란 웹서버로 부터 html 전체를 가져와서 html 태그내에 있는 유용한 데이터를 추출하는 것이다. 최근 사이트들은 Scrapping 방지를 해 놔서 일반적인 python 의 requests.get(url) 로는 Timeout 에러가 발생한다. 하지만 웹 브라우저(Chrome, Firefox 등등)을 이용하면 제한은 없어지기 때문에 프로그램적으로 웹 브라우저를 통제하기 위해서 python에서 selenium 라이브러리를 통하여 작동할 OS에 설치되어 있는 브라우저에 맞는 Webdriver를 이용한다.  프로그램이 동작할 OS에서의 설정은 까다로운 편이지만, Google Colab 에서는 아래와 같이 간단하게 설정하면 된다.!pip install google-colab-selenium impor..

data science/python 2025.02.16

dict 을 이용한 일괄 문자열 바꿔치기

s = "hello world, have a great day"r_dict = {"hello": "hi", "world": "earth", "great": "wonderful"} 1. Loop 를 이용한 replacefor key, value in r_dict.items():     s = s.replace(key, value) print(s)-> "hi earth, have a wonderful day" 2. 정규표현 re.sub()import re # "스페이스 + ( hello|world|great ) + 스페이스"# lambda match는 매치 될때마다 매치 문자열 오브젝트가 할당 => 문자열은 object.group()# s 는 초기 문자열result = re.sub(r'\b(?:' + '|'..

data science/python 2025.02.12

여러 단어를 한 단어로 바꿔치기

1. 문자열을 스페이스로 분리하여 대체s = 'Macron made the announcement to mark the opening of the Paris AI Summit.' # 바꾸고자 하는 단어들 li = ["announcement", "opening", "Summit."] # 새로운 단어 k = "Trump" # 스페이스로 분리해 단어 리스트를 만들고 바꿀 단어들과 같다면 새로운 단어로 대헤 res = ' '.join([k if word in li else word for word in s.split()]) print(res)-> Macron made the Trump to mark the Trump of the Paris AI Trump 2. 정규표현 '|' 을 이용 import re s = ..

data science/python 2025.02.11

반복되는 특정 단어를 복수 단어로 바꿔치기

시나리오DB 에 LLM의 프롬프트 형식을 아래와 같이 저장해서 나중에 꺼내와서 사용자가 입력한 문자열로 바꾸고자 할때.예) promt = "{input} 은 어느나라의 {input} 입니까?" 방법1prompt = "{input} 은 어느나라의 {input} 입니까?"repl_str = '{input}'repl_list = ['서울', '수도'] for ele in repl_list:     prompt = promt.replace(repl_str, ele, 1) # 서울은 어느나라의 수도 입니까? 방법2import re prompt = "{input} 은 어느나라의 {input} 입니까?" repl_str = '{input}' repl_list = ['서울', '수도']# re.sub 두번째는 lamb..

data science/python 2025.02.11

정규표현(regular expressions)

정의복잡한 문자열을 처리할 때 사용하는 기법 임포트import re(대표적) 치환 메서드② 를 사용하자① result = re.sub(r정규표현, 치환문자(열), 대상문자열)② regex = re.complie(r정규표현, re.MULTILINE )  ※ 대상문자열이 개행을 포함하고 있다면 re.MULTILINE으로 행을 구분     result = regex.sub(치환문자(열), 대상문자열 ) r " "   은 raw 를 의미하며 " " 안의 특수기호(개행문자등)를 문자로써 표현[ ] 안에 있는 문자 개별로 존재하면 치환, 삭제regex = re.compile(r'[346]')str1 = regex.sub('x', '03-5454-68284') -> '0x-5x5x-x828x' 참조별도 표기  [0-..

data science/python 2025.02.07

(Colab) Youtube 영상을 mp3 화일로 다운로드

Youtube 뮤직 동영상이나 유용한 동영상의 음성부분만 mp3 로 다운로드하고 플때 google 에서 "youtube to mp3"  로 검색하면 여러 사이트가 나오지만 이상한 음란 광고들이 나오기 때문에 꺼리게 되고 사이트 이동이 귀찮다.그래서 아래와 같이 직접 python으로 google colab에서 실행하면 아주 간단하게 다운로드 받을 수 있도록 하자. 사전 준비물: google account google 에 접속에 google 드라이브를 선택내 드라이브에서 마우스 오른쪽 클릭 메뉴에서 Google Colaboratory 를 선택 「+ Code」로 아래와 같이 코드 작성 ( 세션이 종료되면 설치된 패키지가 사라지니  Colab 접속시에 실행 ) !pip install pytubefix 「+ Co..

data science/python 2025.02.01