본문 바로가기

프로그래밍/Python79

파이썬(Python) 내장함수 filter를 이용하여 리스트에서 특정 조건을 만족하는 원소 추출하기 오늘은 파이썬(Python) 내장 함수인 filter의 사용법을 알아보려고 한다. filter는 기본적으로 리스트에서 특정 조건을 만족하는 원소들만 추출하고 싶을 때 사용하는 함수다. filter 사용법 filter 함수는 첫 번째 인자로 조건을 나타내는 함수를 넣어준다. 조건을 나타내는 함수란 리턴값이 True 또는 False여야 한다는 것이다. 그리고 두 번째 인자로 추출하고 싶은 리스트를 넣어준다. filter( '조건 함수', '리스트 또는 Iterable 가능한 객체' ) filter 예제 여기서는 문자열 원소를 갖는 리스트에서 특정 문자로 시작하는 원소를 filter를 이용하여 추출해보고자 한다. 예를들어 문자열 리스트에서 'A'로 시작하는 문자열만 뽑는다고 한다면 다음과 같이 해준다. fil.. 2022. 7. 12.
[Python] 파이썬 모듈(라이브러리, 패키지) 버전 확인하기(__version__, pip) 이따금씩 내 컴퓨터에 설치된 파이썬 모듈(라이브러리, 패키지)의 버전을 확인해야 할 필요가 있다. 이번 포스팅에서는 파이썬에서 모듈(라이브러리, 패키지)의 버전을 확인하는 방법에 대해서 소개한다. - 목차 - 1. __version__ 이용하기 2. pip list show 이용하기 1. __version__ 이용하기 파이썬 모듈(라이브러리, 패키지)에는 __version__이라는 속성을 갖도록 권장하고 있다. 따라서 __version__을 이용하면 해당 모듈(라이브러리, 패키지)의 버전을 확인할 수 있다. import pandas as pd import numpy as np print('Pandas Version :', pd.__version__) print('Numpy Version :', np.__.. 2022. 5. 11.
[python] lstrip, rstrip을 이용한 문자 제거 요즘 자연어 처리 관련 강의를 듣고 있는데 코드 실습에서 배운 여러 가지 파이썬 기능들을 복습하고 있다. 복습하는 김에 여기에다가 적어두면 기억이 더 오래갈 것 같아서 포스팅하려고 한다. 이번 포스팅에서는 lstrip과 rstrip을 이용하여 문자를 제거하는 방법에 대해서 알아본다. - 목차 - 1. lstrip - 문자열 왼쪽(앞쪽) 문자 제거 2. rstrip - 문자열 오른쪽(뒷쪽) 문자 제거 1. lstrip - 문자열 왼쪽(앞쪽) 문자 제거 lstrip은 입력 문자를 넣어주면 문자열의 왼쪽(앞쪽)에서 매칭되는 부분을 제거해준다. 입력 문자를 넣어주지 않으면 공백 문자를 제거한다. 아래 코드를 보면 감이 올 것이다. string1 = ' 안녕하세요~~' string2 = '\t\t\t 안녕하세요~.. 2022. 5. 8.
[Python] os와 shutil 모듈을 사용하여 파일 삭제(제거), 폴더 삭제(제거) 하기 파이썬(Python)으로 파일, 폴더 복사뿐 아니라 삭제도 할 수 있다. 이번 포스팅에서는 shutil과 os 모듈을 이용하여 파일, 폴더 삭제하는 방법에 대해서 알아본다. - 목차 - 1. os 모듈을 이용한 파일 삭제(제거) 2. os 모듈을 이용한 폴더 삭제(제거) feat. shutil 1. os 모듈을 이용한 파일 삭제(제거) os.remove를 사용하면 파일을 제거할 수 있다. 사용법은 제거할 파일(위치+파일명)을 넣어주면 된다. import os # 파일 삭제 remove_file_path = '../test_folder/folder1/sample_02.txt' # 제거할 파일 os.remove(remove_file_path) 만약 없는 파일을 제거하려고 하면 다음과 같은 FileNotFou.. 2022. 5. 7.
[Python] shutil을 이용한 파일 복사(File Copy), 폴더 복사(Folder Copy) 하기 (feat. distutils) 파이썬(Python)을 이용하면 파일과 폴더를 복사할 수 있다. shutil이라는 모듈을 이용하면 된다. 이번 포스팅에서는 파이썬(Python) 내장 모듈인 shutil를 이용하여 파일과 폴더를 복사하는 방법을 알아본다. - 목차 - 1. shutil을 이용한 파일 복사 2. shutil을 이용한 폴더 복사 (feat. distutils) 1. shutil을 이용한 파일 복사 shutil.copy, shutil.copyfile, shutil.copy2를 이용하면 파일을 복사할 수 있다. 이들의 사용법은 첫 번째 인자에는 복사할 파일 위치, 두 번째 인자에는 복사 위치 + 파일명을 넣어주면 된다. 이때 기존 파일과 동일한 명으로 복사 파일명을 지정했다면 덮어쓰기(Overwriting)가 된다. 아래 코드를.. 2022. 5. 7.
[Python] 리스트(튜플, 배열)에서 비복원(without replacement) 추출과 복원(with replacement) 추출하기 머신러닝을 구현함에 있어서 학습 데이터를 재추출(Resampling)할 필요가 있었는데 파이썬에서 재추출하는 방법이 있어서 적어두려고 한다. 내가 필요했던 것은 복원(with replacement) 추출이었는데 정리하는 김에 비복원 추출 방법도 적어둬야겠다. 나중에 필요할 수도 있으니까. 1. 비복원(without replacement) 추출 2. 복원(with replacement) 추출 1. 비복원(without replacement) 추출 비복원 추출(without replacement) 방법은 내장 모듈인 random과 외장모듈인 numpy를 이용한 방법 2가지가 있다. 각각에 대해서 알아보자. 1) random.sample을 이용하는 방법 random.sample을 이용하면 리스트(또는 튜플)에.. 2022. 5. 7.
[Python] 단어 집합(리스트, 튜플)에서 특정 단어와 가장 유사한 단어 찾기 difflib.get_close_matches 이번 포스팅에서는 여러 단어 집합(리스트, 튜플)에서 특정 단어와 가장 유사한 단어를 파이썬(Python)을 이용해서 찾는 방법을 소개한다. 이전 포스팅에서는 단어와 단어의 유사도를 계산하는 방법을 알아보았는데 이번에는 단어 집합 속에서 특정 단어와 가장 유사한 단어를 찾는다는 점에서 차이가 있다. 파이썬 내장 모듈 difflib의 get_close_matches를 이용하면 특정 단어와 가장 유사한 단어를 집합에서 빼내올 수 있다. difflib.get_close_matches 사용법 get_close_matches는 word, possibilities, n, cutoff 총 4개의 인자를 가지며 의미는 다음과 같다. word = 비교 기준이 되는 단어 possibilities = 비교하려는 단어 집합 .. 2022. 5. 1.
[Python] difflib.SequenceMatcher 두 문자열(단어)의 유사도(Similarity) 계산하기 코딩을 하다가 파이썬(Python)으로 두 문자열(단어)의 유사도(Similarity)를 계산해야할 일이 있어서 이를 어찌할까 검색해보다가 Stackoverflow 에서 고수분이 알려주신 테크닉을 여기에 적어보려고 한다. 두 문자열(단어) 유사도 계산 difflib은 파이썬 내장 모듈이다. 여기에 SequenceMatcher를 이용하면 두 단어의 유사도를 알 수 있다. 이때 두 단어의 유사도는 ratio라는 메서드를 이용하면 되는데 이를 이용하여 두 문자열(단어)의 유사도(Similarity)를 계산하는 함수를 만들었다. from difflib import SequenceMatcher def similar(a, b): return SequenceMatcher(None, a, b).ratio() 이제 ma.. 2022. 5. 1.
[Python] iter함수와 itertools를 이용하여 메모리를 절약하면서 배열을 순서대로 그룹화(Grouping)하기 이번 포스팅에서는 itertools를 이용하여 배열을 같은 개수를 갖는 그룹으로 쪼개는 함수를 만들려고 한다. 예를 들어 배열(리스트) a = [ 1, 2, 3, 4]가 있다고 할 때 순서대로 2개 원소를 갖는 그룹을 만든다면 결과는 다음과 같다. [(1, 2), (3, 4)] 이제 개념은 알았으니 이를 파이썬으로 구현하려면 어떻게 해야 할까? 1. 원시적인 방법 다음과 같은 함수를 생각해볼 수 있다. 배열의 그룹 개수를 구하고 각 그룹 인덱스 별로 배열의 위치를 중복되지 않게 슬라이싱하는 방법으로 가져올 수 있다. def naive_chunk(arr, n): num_groups = len(arr) // n return [tuple(arr[i*n:(i+1)*n]) for i in range(num_gro.. 2022. 4. 23.
[Python] 순열(Permutation)과 조합(Combination) 구하기 - itertools 오늘은 itertools를 활용한 배열의 순열(Permutation)과 조합(Combination)을 계산하는 방법을 소개한다. 1. 순열(Permutation) 2. 조합(Combination) 1. 순열(Permutation) - itertools.permutations 순열은 특정 집합에서 정해진 개수만큼 서로 다른 원소를 순서를 고려하여 나열하는 방법이다. 파이썬에서는 itertools의 permutations을 통하여 순열을 구할 수 있다. 사용방법은 다음과 같다. permutations( 배열, 뽑는 개수 ) 만약 집합 1, 2, 3, 4에서 2개를 뽑는 순열은 다음과 같이 구할 수 있다. 이때 결과는 바로 나오지 않는다. 왜냐하면 generator 형식으로 나오기 때문에 list나 tuple.. 2022. 4. 22.

맨 위로