BE/Python10 [Python] 퀵 정렬을 위한 partition 함수 구현하기 [ 퀵 정렬을 위한 파티션 함수 구현 ] 퀵 정렬(Quick Sort)은 분할 정복(Divide and Conquer) 알고리즘의 하나로, 리스트를 빠르게 정렬하는 데 사용됩니다. 이를 위해 파티션 함수는 리스트를 기준값(pivot)을 중심으로 두 개의 부분 리스트로 분할합니다. # 두 요소의 위치를 바꿔주는 helper function def swap_elements(my_list, index1, index2): temp = my_list[index1] my_list[index1] = my_list[index2] my_list[index2] = temp # 퀵 정렬에서 사용되는 partition 함수 def partition(my_list, start, end): # 리스트 값 확인과 기준점 이하 값들.. BE/Python 2024. 2. 9. [Python] 번호판 인식 데이터셋 생산하기 (가상 차량 번호판 생성) 번호판 인식이 필요한 프로젝트를 진행 중 모델을 훈련하기 위해서는 대량의 번호판 데이터가 필요했다. 그러나 자동차 번호판은 개인정보에 해당하고, 현실적으로 실제 데이터를 구하는 것이 어려웠다. 그래서 가상의 차량 번호판 이미지를 활용해야 했다. 가상의 데이터를 사용함으로써 개인정보 보호 문제를 회피하고 효과적으로 모델을 훈련해 보자!! 1. 사용 라이브러리 설치 및 글꼴, 이미지 다운로드 ▽ 사용 라이브러리 # tqdm pip install tqdm # 진행상황 시각화 용도 # PIL pip install pillow # 번호판 이미지 처리 용도 #argparse pip install argparse # 이미지 경로,갯수,설정 용도 ▽ 사용 글꼴, 이미지(자동차 번호판 테두리 이미지) 한길체 폰트 Not.. BE/Python 2024. 1. 29. [Python] 데이터 시각화 - Seaborn 통계 데이터 시각화 데이터 시각화를 수행할 때, 어떤 그래프를 선택해야 정보가 가장 잘 전달될지 고려해야 한다. 특히 데이터가 무한한 경우, 특정 값에 대한 정확한 확률 계산은 의미가 없을 수 있다. 이런 상황에서는 특정 범위에 대한 계산이 더 유의미할 것이다. 이때, 확률을 효과적으로 표현해 주는 라이브러리로 seaborn이 유용하다. seaborn를 사용하여 통계 데이터 시각화를 해보자 !! ◈ Seaborn Statistical Data Visualization 통계를 기반한 데이터 시각화 : matplotlib를 기반으로 하는 Python 데이터 시각화 라이브러리. import pandas as pd import seaborn as sns # seaborn은 sns로 칭한다. ▼ seaborn 사이트 seaborn은.. BE/Python 2023. 11. 21. [Python] 데이터 시각화 - Matplotlib 그래프 그리기 [ Matplotlib 사용하여 그래프 그리기 ] 머신러닝에서 모델을 구현하는 것도 중요하지만, 학습할 데이터를 선별하고 만들어진 모델을 검증하기 위해서는 데이터를 이해하는 것이 필수적이고 이를 위해서는 데이터를 시각화해서 보는 것이 매우 중요하다고 한다. Python에서 가장 널리 사용되는 데이터 시각화 라이브러리 Matplotlib로 데이터 시각화를 해보았다 ! ◈ Matplotlib ? : Python 프로그래밍 언어 및 수학적 확장 Numpy 라이브러리를 활용한 플로팅 라이브러리 : 그래프, 차트, 플롯 등 다양한 시각화 요소를 생성하고 데이터를 시각적으로 나타낼 수 있다. %matplotlib inline # Jupyter Notebook 사용시 추가해줘야 됨. import matplotlib .. BE/Python 2023. 11. 17. [Python] pandas로 데이터 분석하기 - DataFrame 생성. ◈ Pandas ? : 구조화된 데이터나 표 형식의 데이터를 빠르고 쉽게 다룰 수 있도록 하는 라이브러리 : Series - 1차원 데이터, DataFrame - 2차원 데이터 DataFrame = Series + Series Series : List와 다르게 index를 직접 지정할 수 있다. 설정을 안 해주면 0, 1, 2...로 설정됨. DataFrame : 인덱스와 컬럼을 기준으로 표 형태처럼 데이터를 저장. ▼ DataFrame 생성해 보기! import pandas as pd student_list = [['철수', 100, 90, 85], ['영희', 70, 80, 85], ['진구', 95, 75, 80]] df = pd.DataFrame(student_list) df columns와 in.. BE/Python 2023. 11. 17. [Python] Numpy 유용한 함수 (통계 함수) 2023.11.14 - [Programing/Python] - [Python] Numpy란? numpy array 생성하기 [Python] Numpy란? numpy array 생성하기 ▷ Numpy (Numerical Python) 란? import numpy as np : 다차원 배열(행렬)을 쉽게 처리하고 효율적으로 사용할 수 있도록 지원하는 파이썬의 라이브러리. : 수치해석, 통계 관련 기능을 구현할 때 가장 기본이 kongda.tistory.com Numpy를 좀 더 유용하게 사용하기 위한 함수들을 정리. ▼ Numpy로 행렬을 다루기 위한 차원의 확장과 축소의 함수를 알아보자 ! ▷ 차원 확장 : 배열의 차원을 확장. expand_dims(arr, axis) arr : 차원을 확장할 배열 axi.. BE/Python 2023. 11. 16. [Python] Numpy란? numpy array 생성하기 ▷ Numpy (Numerical Python) 란? import numpy as np : 다차원 배열(행렬)을 쉽게 처리하고 효율적으로 사용할 수 있도록 지원하는 파이썬의 라이브러리. : 수치해석, 통계 관련 기능을 구현할 때 가장 기본이 되는 모듈. : Ndarray 타입의 배열을 만들 수 있음. ( ※ Ndarray 타입 : N-dimension array의 약자. 다차원 배열을 의미.) [ List 와 Ndarray 차이점 ] 1. 선언 형태의 차이 - List : 원소로 여러 가지 자료형을 허용. 내부 배열의 원소 개수가 달라도 된다. - Ndarray : 원소로 한 가지 자료형만 허용. 내부 배열의 원소 개수가 같아야 한다. # a List는 여러 가지 자료형을 허용, b Ndarray는 한 .. BE/Python 2023. 11. 14. [Python] 모듈(module) 사용하기 ▷ 모듈(module)이란? : 한 번 구현한 파이썬 코드를 다른 파이썬 파일의 코드에서 공유해서 사용할 수 있도록 하기 위해 모듈을 활용. 여러 함수를 가지고 있는 집합체로 여러 기능들이 뭉쳐진 하나의 .py파일이다. Python 기본 내장되어 있는 표준 모듈과 직접 만든 외부 모듈이 있고, 다른 파일에서 import 해서 사용한다. ▼ 모듈 불러오는 방법 ▼ import 모듈이름 - import 파일명에 .py 붙이지 않기. - import 하려는 파일은 같은 폴더에 있어야 된다 ! from 모듈이름 import 함수이름 from calc_module import add # 모듈에서 여러 개의 함수를 가져올 때 from calc_module import add, sub # 모듈에서 함수 전체를 가져올.. BE/Python 2023. 11. 13. [Python] 재귀 함수란 ? (Recursive Function) ▶ 재귀 함수 def hello(): print("Hello world!") hello() # 자기 자신 호출 hello() : 함수 안에 함수가 또 있어서 자기 자신을 반복적으로 호출할 수 있는 형태의 함수. : 자기 자신을 반복적으로 호출하는 만큼 종료 조건이 있어야 된다. : 문제를 해결하기 위해 자신을 호출하여 문제를 더 작은 하위 문제로 나누는 함수이다. ▷ 팩토리얼 구하기로 재귀 함수 이해하기 - 팩토리얼 : 그 수보다 작거나 같은 모든 양의 정수의 곱 ex) 5! = 5 x 4 x 3 x 2 x 1 = 120 # 팩토리얼 - 재귀 함수 def factorial(n): if n == 1: return 1 else: return n * (n-1) print(factorial(5)) ▷ 재귀 함수.. BE/Python 2023. 11. 11. [Python] f 문자열 포매팅 ( f-string formatting) f-string 포매팅 : 문자열 앞 f 접두사를 붙이면 f-string 포매팅 기능을 사용할 수 있다. 문자열 내 {}에 원하는 변수를 넣어 바로 출력이 가능하며, 자료형도 그대로 출력이 가능하다는 장점이 있다. ※ Python 3.6 버전부터 추가된 기능. name = 'KONGDA' age = 20 print(f'나의 이름은 {name}이다. 나이는 {age}살이다.') 문자열 안에서 변수에 +,-와 같은 수식도 함께 사용가능. ▷ 소수점 : 점(.) 앞에는 전체 자릿수를 의미하고, 뒤에는 소수점 아래자릿수를 의미한다. pi = 3.14159265359 print(f'{pi:10.10f}')// '3.1415926536' print(f'{pi:10.2f}')// ' 3.14' print(f'{pi:.. BE/Python 2023. 11. 8. 이전 1 다음 728x90