본문 바로가기

프로그래밍167

[정규 표현식] re 모듈 알아보기 (1) 패턴 찾기 (feat. re.match, re.search, re.findall) re 모듈은 문자열에서 특정 패턴을 만족하는 문자열을 찾고 싶을 때 유용한 기능을 제공하는 모듈이다. 특히 re 모듈에서 제공하는 match, search, findall 함수는 패턴과 매칭되는 문자열을 찾는 대표적인 방법이다. 이번 포스팅에서는 re 모듈에서 문자열 패턴을 찾는 방법을 알아보고자 한다. re 모듈 - 패턴 찾기 1) 문자열 시작 부분만 살펴볼게~ : match match는 주어진 패턴이 문자열 시작 부분과 매칭되면 re.Match 객체를 반환하고 매칭이 안되면 None, 즉 아무것도 반환하지 않는다. 아래 코드는 알파벳 소문자 한 개로 이루어진 문자를 찾는 과정이다. 이때 두 번째 문자열 'Hi how are you?'는 문자열 시작 부분이 대문자이므로 패턴 매칭이 안된다. re.Mat.. 2022. 9. 18.
[Scikit-Learn] 16. decision_path를 이용하여 주어진 데이터가 진행한 노드 정보 확인하기 의사결정 나무(Decision Tree)를 학습한 뒤 주어진 데이터가 진행한 노드들의 정보를 알고 싶을 때가 있다. 예를 들어 노드에서 분리할 때 사용된 변수와 분리 기준을 알고 싶을 때가 있을 것이다. 만약 아래 그림에서 의사결정 나무 모형이 있고 주어진 데이터에 대해서 예측을 수행하면 빨간 박스에 있는 노드(마디)들을 진행할 것이다. 이때 진행한 노드 중 중간 노드에 포함된 변수와 분리 기준은 (키, 170), (나이, 30)이 되며 마지막 터미널 노드에서의 예측값은 2인 것을 알 수 있다. Scikit-Learn(sklearn)에서는 이러한 나무 기반 모형에서 decision_path를 이용하여 주어진 데이터가 진행한 노드 아이디를 알 수 있고 이를 이용하면 진행 노드의 정보를 가져올 수 있는 것이.. 2022. 9. 18.
파이썬(Python) 리스트(List) 정렬하기 (feat. sort, sorted) 리스트(List)를 정렬하는 방법에는 sort, sorted를 이용하는 방법이 있다. 이번 포스팅에서는 리스트를 정렬하는 방법을 알아본다. 리스트 정렬(기본, 순서 반전, key) 1) 기본 sort와 sorted는 사용 방식이 같다. 차이점은 sort는 내부적으로 정렬되어 원본에 저장되는 반면 sorted는 정렬된 복사본을 생성한다는 것이 차이점이다. l = ['a', 'x', 'd', 'w', 'p', 'b'] l.sort() ## 내부적으로 정렬한 뒤 원본에 정렬 결과를 저장 print(l) l = ['a', 'x', 'd', 'w', 'p', 'b'] l = sorted(l) ## 복사본이 생성되므로 l에 다시 그 결과를 할당해주어야한다. print(l) 2) 순서 반전 sort와 sorted는 .. 2022. 9. 17.
파이썬(Python) 리스트(List) 속에 원소 존재 여부, 원소 위치, 등장 횟수 알아보기 (feat, in, index, count) 파이썬(Python)에서 리스트(List) 안에 원소가 존재하는지 존재한다면 어느 위치에 있고 몇 번 등장하는지 알 수 있다. 이번 포스팅에서는 in, index, count를 이용하여 원소 존재 여부, 원소 위치, 등장 횟수를 알아보는 방법을 소개한다. 리스트(List) 속 원소 존재 여부, 존재 위치, 등장 횟수 1) 원소 존재 여부 : in in을 이용하면 특정 원소가 리스트(List) 안에 존재하는지 여부를 알 수 있다. l = ['a', 'b', 'c'] print('a' in l) ## 'a'가 존재하는가 print('f' in l) ## 'f'가 존재하는가 2) 원소 위치 : index index 함수에 특정 원소를 넣어주면 해당 원소의 위치를 알려준다. l = ['a', 'b', 'c'] .. 2022. 9. 17.
파이썬(Python) 리스트 결합(병합)하기 (feat. extend, + ) 파이썬(Python)에서 여러 리스트(List)를 결합하고자 할 때 extend 또는 ' + '를 이용하는 방법이 있다. 이번 포스팅에서는 리스트를 결합(병합)하는 방법에 대해서 알아보고자 한다. 리스트 결합(병함) 1) extend 이용하여 리스트 결합 extend에 결합할 리스트를 넣어주면 기존 리스트에 결합된다. list1 = ['a', 'b', 'c'] list2 = [1, 2, 3] list1.extend(list2) ## list1과 list2 결합 이때 원본에 바로 결합된 결과가 저장된다. print(list1) 2) ' + '를 이용하여 리스트 결합 연산자 '+'를 이용하여 리스트를 결합할 수도 있다. list1 = ['a', 'b', 'c'] list2 = [1, 2, 3] list1 =.. 2022. 9. 17.
파이썬(Python) 리스트(List) 슬라이스(Slice)로 원소 추출, 변환 하기 파이썬(Python)에서는 배열 형태를 다루는 객체 타입으로 리스트(List)가 있다. 이때 리스트 슬라이스를 통해서 원소를 추출(접근) 또는 변환할 수 있다. 리스트 슬라이스 1) 개별 원소 추출(접근), 변환 a. 개별 원소 추출(접근) 리스트의 개별 원소를 추출(접근)하기 위해 각 괄호에 숫자(인덱스)를 넣어준다. 각 괄호 안에 들어가는 숫자는 0부터 (원소 개수-1)까지 또는 -(원소 개수)부터 -1까지이다. 이때 -1은 가장 마지막 원소를 뜻하며 -2는 가장 오른쪽에서 두 번째 원소를 의미한다. l = ['a', 'b', 'c'] print(l[0]) ## 첫 번째 원소 print(l[1]) ## 두 번째 원소 print(l[2]) ## 세 번째 원소 print(l[-3]) ## 첫 번째(오른쪽.. 2022. 9. 17.
파이썬(Python) 문자열 단어 대체하기, 분리하기 (feat. replace, split) Python(파이썬)에서는 문자열 내 특정 단어를 다른 단어로 대체하는 replace와 문자열을 특정 구분자로 분리해주는 split 함수가 있다. 이번 포스팅에서는 replace, split 함수의 사용법을 알아본다. 문자열 - 대체하기, 분리하기 1) 문자열 단어 대체하기 : replace replace는 특정 단어를 다른 단어로 대체한다. 이때 세 번째 인자에 숫자를 넣어주면 해당 숫자만큼만 대체하게 된다. string = '감사합니다~' print(string.replace('감사', '사랑')) ## '감사'를 '사랑'으로 바꾼다. string = 'aaaaa aaaaa' print(string.replace('a', 'b', 7)) ## 'a'를 'b'로 7번 까지만 바꾼다. 2) 문자열 분리하.. 2022. 9. 17.
파이썬(Python) 문자열 배치 및 0으로 채우기 (feat. center, ljust, rjust, zfill) 파이썬(Python)에서는 문자열을 배치할 수 있는 center, ljust, rjust 함수가 있다. 또한 특정 문자의 왼쪽에다가 0을 채워주는 zfill 함수도 있다. 이번 포스팅에서는 문자열 배치 및 0으로 채우는 방법을 알아본다. 문자열 배치와 0으로 채우기 1) 문자를 중앙에 배치하자 : center center는 주어진 글자 폭 내에서 문자열을 중앙에 배치시킨다. 다음은 폭이 30(문자가 30개를 공백 없이 채울 수 있는 공간) 내에서 문자열을 중앙에 배치한다. 또한 두 번째 인자에 특정 문자를 넣어주면 해당 문자로 좌우를 채워준다. string = 'Hello' print(string.center(30)) ## 폭 30 내에서 문자열을 중앙에 배치한다. print(string.center(3.. 2022. 9. 17.
파이썬(Python) 영어 대문자, 소문자 다루기 (feat. capitalize, title, swapcase, upper, lower) 파이썬(Python)에서는 영어 문자열에 대해서 대문자 소문자를 다룰 수 있는 여러 함수를 제공한다. 이번 포스팅에서는 영어 문자열에서 대문자, 소문자를 다룰 수 있는 capitalize, title, swapcase, upper, lower 함수의 역할과 사용법을 알아보려고 한다. 영어 대문자, 소문자를 다루어 보자 1) 문자열 첫 번째를 대문자로 바꿔보자 : capitalize capitalize는 첫 번째 단어를 대문자로 바꿔준다. string = 'welcome to my blog' print(string.capitalize()) ## 첫 번째 알파벳을 대문자로 바꾼다. 2) 모든 단어의 첫 글자를 대문자로 : title title은 모든 단어의 첫 글자를 대문자로 바꾸어준다. string = '.. 2022. 9. 17.
파이썬(Python) 문자열 속 단어 위치 찾기, 단어 등장 횟수(빈도) 알아보기 (feat. find, rfind, count) 파이썬(Python)에서는 문자열을 다루는 함수가 많이 있다. find와 rfind는 문자열 속 특정 단어의 위치를 알려주고 count는 특정 단어가 몇 번 나타났는지 그 횟수를 알려주기도 한다. 이번 포스팅에서는 문자열 속에 특정 단어 위치를 찾는 방법과 특정 단어 등장 횟수를 알아보는 방법에 대해서 소개한다. 문자열 다루기 - 단어 위치 찾기, 단어 횟수 계산 1) 문자열 속 특정 단어 위치 찾기 : find, rfind find는 특정 단어가 첫 번째로 나타나는 위치를 알려준다. 만약 해당 단어가 없다면 -1을 리턴한다. string = '꽁냥이 블로그 많이 많이 사랑해주세요' print(string.find('꽁냥이')) ## 꽁냥이가 처음 나타나는 위치 print(string.find('오옹').. 2022. 9. 17.

맨 위로