본문 바로가기

Study_note(zb_data)/Python

(14)
Box plot에 대해서 📌 Box plot에 대해서 알아보자 samples = [1, 7, 9 , 16, 36, 39, 45, 45, 46, 48, 51, 100, 101] tmp_y = [1]*len(samples) import matplotlib.pyplot as plt plt.figure(figsize=(12, 4)) plt.scatter(samples, tmp_y) plt.grid() plt.show() 📌 Percentile, Median (numpy) 🔻Median import numpy as np np.median(samples) >>>> 45.0 🔻Q1 # Q1 np.percentile(samples, 25) >>> 16.0 🔻Q3 # Q3 np.percentile(samples, 75) >>>> 48.0 🔻IQ..
스터디 노트 (알고리즘 문제풀이)_0726 📌 연습문제 (선형검색) def searchNumberByLineAlgorithm(ns, sn): #기존 number와, search number를 받는다. searchResultIdx = -1 #기본적으로 idx를 -1로 초기화 print(f'Numbers : {ns}' print(f'search Number : {sn}') n = 0 while True: #while문 사용 if n == len(ns): #n이 number의 길이를 벗어나면(끝까지 찾아도 없으면) print('search Fail') #search Fail 출력 break #중지 if ns[n] == sn: #number에 n번째 인덱스에 있는 값이 search number와 같다면 (ns에 sn이 있다면) searchResultId..
스터디 노트 (알고리즘 19-30)_0725 📌 근삿값 특정 값(참값)에 가장 가까운 값을 근삿값이라고 한다. import random nums = random.sample(range(0, 50), 20) # 0~50까지의 숫자 20개를 nums에 할당한다. print(f'nums : {nums}') inputNum = int(input('input Number : ')) print(f'inputNum : {inputNum}') nearNum = 0 minNum = 50 #데이터가 많으면 최댓값 알고리즘을 통해서 구한다. #최댓값 설정을 해서 for문으로 근사값을 찾는 것을 용이하게 해준다 nearIdx = 0 for idx, n in enumerate(nums): absNum = abs(n - inputNum) #절댓값으로 덮어준다 # print..
스터디 노트 (알고리즘 1-18)_0724 📌 선형검색? 선형으로 나열되어 있는 데이터를 순차적으로 스캔하면서 원하는 값을 찾는다 datas = [3, 2, 5, 7, 9, 1, 0, 8, 6, 4] print(f'datas : {datas}') print(f'datas length : {len(datas)}') searchData = int(input('찾으려는 숫자 입력 : ')) searchResultIdx = -1 n = 0 while True: if n == len(datas): #만약 n의 값이 datas의 길이의 값과 같아질 경우 searchResultIdx = -1 #못찾았으므로 -1 출력 break #바로 break elif datas[n] == searchData: #datas n의 값이 찾으려는 data값과 같다면 search..
스터디 노트 (자료구조 문제풀이)_0721 📌 연습문제 (리스트) - 1부터 사용자가 입력한 숫자까지의 약수와 소수를 리스트에 각각 저장하고, 출력하는 프로그램을 만들어보자. #1부터 사용자가 입력한 숫자까지의 약수와 소수를 리스트에 각각 저장하고, 출력하는 프로그램을 만들어보자. inputNum = int(input('1보다 큰 정수 입력 : ')) listA = [] ; listB = [] for n in range(1, inputNum+1): if n == 1: listA.append(n) else: if inputNum % n == 0: listA.append(n) print('list A : {}'.format(listA)) for number in range(2, inputNum+1): flag = True for n in range(..
스터디 노트 (자료구조 27~38)_0720 📌 딕셔너리란? (Dictionary) key, value를 이용하여 자료를 관리한다. '{}'를 이용하여 선언, '키:값'의 형태로 아이템을 정의한다. 📌 딕셔너리 조회 students = {'s1':'홍길동', 's2':'박찬호', 's3':'이용규', 's4':['박세리', '박공주']} print(students['s1']) print(students['s2']) print(students['s3']) print(students['s4']) print(students['s4'][0]) print(students['s4'][1]) print() print(students.get('s1')) print(students.get('s2')) print(students.get('s3')) print(stu..
스터디 노트 (자료구조 01~26)_0719 📌 자료구조란? List, Tuple, Dic, Set 으로 구분되어진다. List - 안에 데이터를 언제든지 바꿀 수 있다. Tuple : 데이터가 정해지면 바꿀 수 없다. Dic : key / value로 자료구조가 이뤄져 있다. Set : 중복된 데이터가 허용되지 않는다. 📌 리스트란? (List) []를 이용하여 선언하고, 데이터 구분은 ','를 사용한다. 리스트에 또 다른 컨테이너 자료형 데이터를 저장할 수 있다. 📌 인덱스 (Index) 아이템에 자동으로 부여되는 번호표 순서는 0부터 시작한다. 리스트 아이템은 인덱스를 이용하여 조회가 가능하다. 📌 아이템 개수 리스트 길이 = 리스트에 저장된 아이템 개수 len()과 반복문을 사용하여, 아이템 조회가 가능하다. myFavoriteSports ..
스터디 노트 (기초 수학 문제풀이 31 ~ 45)_0718 (기초 수학 문제풀이) 📌 [연습문제] 약수 - 100부터 1000사이의 난수에 대해서 약수, 소수, 그리고 소인수를 출력하는 프로그램을 만들어보자 #100부터 1000사이의 난수에 대해서 약수, 소수, 그리고 소인수를 출력하는 프로그램을 만들어보자 import random rNum = random.randint(100, 1000) #랜덤 난수 발생 print(f'rNum : {rNum}') for num in range(1, rNum+1): soinsuFlag = 0 #약수 if rNum % num == 0: #랜덤 난수가 num으로 나누어 떨어질 때, 약수가 되고 반복 실행 print(f'rNum의 약수 : {num}') soinsuFlag += 1 #소인수 플래그에 1을 추가한다. #소수 if nu..