python 10

한국어 오픈소스 말뭉치 활용 라이브러리 코포라 Korpora

세상에! 이렇게 유용한 라이브러리가 있었다니! 한국어 오픈소스 말뭉치들의 다운로드와 전처리를 라이브러리로 불러와서 쉽게 사용할 수 있게 해주는 라이브러리 Korpora를 이제야 알게 되었다. 한국어 nlp 테스트를 정말 쉽고 편하게 할 수 있을 것 같다. 앞으로 더 많은 오픈소스 텍스트가 공개되고, Kopora에도 편입되어 연구와 활용에 널리 사용할 수 있게 되길 희망한다. https://ko-nlp.github.io/Korpora/ko-docs/introduction/ 코포라 소개 · Korpora 코포라 소개 Korpora는 오픈소스 말뭉치들의 다운로드와 전처리 기능을 제공하는 파이썬 라이브러리입니다. 복잡한 설명을 피하고 싶으신 분들은 ‘설치 방법'과 ‘빠른 사용법'만 읽으셔도 간편 ko-nlp.g..

Q. 여러 개의 파이썬 파일로 구성된 프로그램을 exe 실행 파일로 만들기 - cx_Freeze 와 pyinstaller

main.py와 main.py에서 모듈로 import해서 사용하는 py들로 구성된 간단한 애플리케이션을 만들었다. 그런데 이걸 exe파일로 만들어주라고 한다. 응?? 윈도우에 프로그램 깔 때 쓰는 그 .exe 파일? 조금 검색해보니 파이썬이 깔려있지 않은 환경에서도 내가 만든 애플리케이션을 사용할 수 있게 만들어 주는 것이라고 한다. 실제 실행을 할 때는 하나의 .py 파일로 끝나는 앱이든, 여러 개의 .py을 모듈로 불러와서 실행하는 앱이든 큰 차이는 없이, 실행 파일에 대해서만 exe를 만들면 된다. 나는 pyinstaller와 cx_Freeze를 모두 시도해봤는데 내 경험에 미루어보자면, 처음에는 pyinstaller가 간단해보였지만, 결과적으로 cx_Freeze에서 setup.py를 만들고, 필요..

Programming/Python 2021.12.21

Q. No module named 'cv2' 에러

날짜 : 210709 언어 : Python 개발환경 : Jupyter Notebook 내 os: macOS 11.2.3 프로그래머스 데브매칭 과제 우수코드를 필사하다가 에러 발생 이미지 분류 모델이라서 opencv를 활용하는데, import cv2 코드에서 에러가 발생했고, 인터넷에서 검색한대로 opencv-python을 다운로드하였으나 해결안됨 한참 헤매다 해결 안되서 지인에게 물어봄 pip install opencv-contrib-python # 주요 및 추가 모듈 설치 이걸 설치하고 나서 다시 import 해서 해결

카테고리 없음 2021.07.15

leetcode 5. Longest Palindromic Substring 리트코드 5. 가장 긴 팰린드롬 부분 문자열

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 가장 긴 팰린드롬 부분 문자열 입력: 문자열 출력: 문자열 문제 요약: 주어진 문자열에서 찾을 수 있는 가장 긴 팰린드롬을 출력하기 유의 사항: 예를 보면 "a", "ac" 가 입력일 때 모두 "a"가 출력되었다. len(a)이 1이거나 같은 팰린드롬이 없을 때는 a[0]이 출력되는 듯 그리고, 문자열 내에 대문자/소문자 모두 들어가 있다고 하니까 .lower()를 통해 모두 소문자로 변환해줘야할..

leetcode 49. Group Anagrams 리트코드 49. 그룹 애너그램 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 그룹 애너그램 입력: 문자열로 된 리스트 출력: 문자열로 된 리스트의 리스트 문제 요약: 애너그램은 문자를 재배열하여 다른 뜻을 가진 단어로 바꾸는 것을 뜻한다고 한다. (출처: 파이썬 알고리즘 인터뷰) 예를 들어 'eat' 과 'tea' 와 같은 것이다. 유의 사항: strs[i].length == 0 인 경우도 포함된다. 즉, 아무것도 없는 빈 원소까지 고려해서 짜야 한다. 생각 과정 같은 애..

leetcode 937. Reorder Data in Log Files 리트코드 937. 로그 파일 재정렬 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 리트코드 로그파일 재정렬 입력: list (string) 출력: list (string) 문제 요약: string이 원소인 리스트를 받아 정렬만 해서 다시 리스트로 출력한다. 그런데, 정렬의 기준이 조금 달라서 그 기준에 맞춰 정렬해야 한다는 점이 포인트 생각 과정 일단 각 원소를 띄어쓰기를 기준으로 쪼개서 리스트로 만든 다음, 각 로그의 첫번째 부분은 식별자라고 해서 식별자와 나머지로 나눠보았다..

filter() 리스트, 튜플 등에서 조건에 맞는 요소만 추려내는 내장함수

filter(조건 함수, 순회 가능한 데이터) 입력: 순회가능한 데이터 (리스트, 튜플), 조건함수 (파이썬 내장함수, 사용자 정의함수) 출력: filter객체 filter 는 리스트, 튜플, 셋 같은 순회 가능한 자료 타입 (iterable data type)의 원소들을 특정 함수를 통해 걸러서 출력하는 내장 함수이다. lst = [1,2,3,4,5] def over_4(x): return x > 4 list(filter(over_4, lst)) [5] 4이상의 수만 리턴하는 함수 over_4 를 정의하고, filter 내에 함수와, 리스트를 넣었더니, 함수의 조건에 해당되는 요소들만 출력되었다. 함수를 미리 정의하지 않고 람다 함수를 활용해서 한 줄에 처리할 수도 있다. list(filter(lamb..

Programming/Python 2021.05.04

.get() 딕셔너리에서 key를 사용해 value 얻기

dict_name[key] 입력 : key 출력: value 파이썬의 딕셔너리는 key, value 쌍으로 이루어진 해시형 자료구조이다. john = {'phone': '01840125784' , 'birthday': '19930512' , 'e-mail': 'johndoe@gmail.com' } 특정 key 값에 있는 value를 호출하고 있으면, dict_name[key] 를 사용하는데, dict_name.get(key)를 써도 똑같은 값을 return 한다. print(john['phone']) print(john.get('phone')) >> '01840125784' '01840125784' 둘의 차이점은 딕셔너리에 없는 key 값으로 호출할 때 있다. dict_name[key] 는 KeyErro..

Programming/Python 2021.05.04

numpy, pandas 연습 문제 링크

프로그래머스 AI 수업 멘토님이 추천해주신, numpy, pandas 연습 문제들을 모아놓은 링크 넘파이와 판다스 각각 101 문제씩 있고, 1번은 그냥 프린트 찍어라 수준의 아주 아주 쉬운 문제이기 때문에 쭉 아래로 훑어 가면서 보다가 '가물가물하다' 싶은 부분부터 보면서 연습문제를 풀어보면 좋을 것 같다. www.machinelearningplus.com/python/101-numpy-exercises-python/ 101 Numpy Exercises for Data Analysis The goal of the numpy exercises is to serve as a reference as well as to get you to apply numpy beyond the basics. The ques..

Data/Pandas 2021.05.03

map() - 리스트, 튜플 등에서의 각 요소를 지정된 함수로 처리해주는 내장함수

map(조건함수, 순회 가능한 데이터) 입력: 순회가능한 데이터 (리스트, 튜플), 조건함수 (파이썬 내장함수, 사용자 정의함수) 출력: map객체 리스트의 요소들인 숫자들을 문자열로 바꾼 새로운 리스트를 만들고 싶으면 어떻게 해야할까? for 문을 이용해 아이템 하나씩 바꿀 수도 있지만 너무 번거롭다. lst = [3, 6, 8, 2, 3] str_lst = [] for i in range(len(lst)): str_lst.append(str(lst[i])) str_lst >> ['3', '6', '8', '2', '3'] map() 을 쓰면 지정된 함수를 리스트 각 요소에 한꺼번에 적용해준다. lst = [3, 6, 8, 2, 3] str_lst = list(map(str, lst)) str_lst ..

Programming/Python 2021.04.26