본문 바로가기
728x90

Python49

Momentum(모멘텀) * 포스트 난이도: HOO_Middle* Machine Learning ver.1: July 27, 2022* AI & Data ver.2: June 21, 2025# Review Comments본업에 충실하다 보니, 매번 포스팅이 늦어지고 있다. 새로운 포스트를 작성하는 것도 중요하겠지만 기존에 오래된 포스트를 업데이트를 하는 일도 중요하다는 생각이 들었다. 내 블로그 특성상 "잡 구하기"와 같이 트렌드적인 요소도 있지만 해당 포스트인 "모멘텀"과 같이 개발자로서 기본적으로 알아둬야 할 내용도 포함되어 있기 때문이다. 해당 포스트는 2022년도에 작성한 포스트이며, 이건 딱 봐도 그냥 내가 기억하기 위해서 작성해둔 포스트처럼 보였다. 질문을 받아서 작성된 포스트도 있지만 이렇게 필요한 내용만 메모장처럼.. 2025. 6. 22.
[Python] 미국 회사 코딩 테스트 예제: Solve the Two-Sum Problem Using a Hash Map 포스트 난이도: HOO_Middle# Problem StatementGiven an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order.Example: Input: nums = [2, 7, 11, 15], target = 9 Output: [0, 1]Explanation: Because nums[0.. 2025. 1. 27.
[Python] Dask: Parallel Computing 포스트 난이도: HOO_Middle# 당신의 파이썬은 더 이상 답답하지 않다.데이터를 다루는 프로그래밍을 할 때 우리는 파이썬 기반의 작업을 정말 많이 하는 편이다. 파이썬과 연관되어 있는 다양한 데이터 분석 관련 라이브러리가 있다는 점도 있지만 내 개인적인 생각에는 속도가 다소 느리더라도 복잡한 데이터 분석에 대한 구조를 이해하고 작업하는 데 있어서 파이썬 언어가 편하기 때문이다. 따라서 시뮬레이션이나 파일럿 모델을 구축하는 데 있어서 파이썬 기반으로 모델링을 많이 하는 편인데 문제는 해당 모델링의 구조나 사이즈가 점차적으로 커지고 복잡해진다면 아무리 시뮬레이션이라고 할지라도 답답해지고 제 역할을 못하게 된다. 이때 프로세스 (Process)라고 부르는 작업 스케줄링을 병렬 연산을 통해서 더 빠르게 처.. 2024. 7. 22.
[Error Code] 파이썬 컴파일시, 디렉토리명에 syntax error가 뜰때 파이썬 컴파일 시, 디렉토리명에 syntax error가 뜰 때 # 파일명 syntax error 코딩하기도 바빠죽겠는데 세팅 문제로 컴파일이 되지 않는다면 정말 짜증 난다. 파이썬을 이제 막 다루는 컴공과 학생이거나 다른 전공을 하다가 모델링 작업이나 시뮬레이션 때문에 파이썬을 다루기 시작한다면 겪을 수 있는 문제이다. 특히 프로그래밍을 처음 해본 경우에는 이러한 복합적인 세팅 충돌 문제가 발생하지 않는데 다른 프로그래밍을 하다가 파이썬을 사용하려고 한다거나 여러 종류의 IDE를 사용하다 보니 다른 버전의 파이썬이 중복 설치가 되었을 때 이러한 문제가 발생할 수 있다. 예를 들어서 주피터 기반으로 통계작업을 해오다가 Vscode로 파이썬 모델링 작업을 하려고 할 때 이러한 문제가 발생할 수 있다. (.. 2024. 2. 1.
[Python] Random Seed(랜덤 시드) Random Seed(랜덤 시드) 포스트 난이도: HOO_Middle # Random seed Random seeds(랜덤시드)는 한국에서 난수 생성기라고도 부르며, 랜덤 한 값을 생성해 낸다. 랜덤 한 값을 생성해 낸다고 해서 마치 무작위 시드 값을 생성하는 것 같지만 반은 맞고 반은 틀린 말이다. 임의의 값을 랜덤 하게 생성해 낸다는 점에서는 맞지만 한번 정해진 시드 값은 다음 랜덤시드에서도 동일하게 산출된다. 따라서 랜덤 시드란 랜덤하게 컴퓨터가 시드 값을 정하는 걸 의미하며 랜덤 하게 시드 값이 계속 바뀌는 걸 의미하지는 않는다. 또한 랜덤 시드값은 사실 무작위로 정해지는 것도 아니다. 인간은 뇌에서 무작위 숫자를 선택해서 결정할 수 있지만 컴퓨터는 자율적으로 생각해서 랜덤 한 숫자를 선택하지 못.. 2023. 11. 10.
[AI & ML Examples] Computer Vision Calibration: Normalized Points 예제코드 Computer Vision Calibration: Normalized Points 예제코드 포스트 난이도: HOO_Senior # Example Code 이번 포스트에서는 Computer vision에서 Normalized points에 대한 값을 구하기 위해서 Calibration이 어떻게 이루어지는지 살펴볼 수 있다. 아래의 예제코드를 보면 2 dimensional과 3 dimensional에 해당하는 포인트 값들이 homogeneous과정을 거치고 svd를 통해서 Normalized point에 대한 "M" 값이 구해지는 과정을 볼 수 있다. 여기서 꼭 svd function 말고도 lstsq () funciton을 사용해서도 Normalized 된 M을 산출해 낼 수 있다. 또한 산출된 resi.. 2023. 10. 13.
[AI / Computer Vision] Singular Value Decomposition (SVD) Singular Value Decomposition (SVD) 포스트 난이도: HOO_Middle # Computer vision에서의 SVD Computer vision에서의 Singular Value Decomposition (SVD)는 결과를 산출해 내기 위한 기본적인 매트릭스 계산 방법이다. 눈으로 보이는 물체를 우리는 이미지나 영상으로 담아냈고 이것을 컴퓨터가 분석하거나 인지하게 만들기 위해서는 픽셀 단위로 살펴봐야 한다. 이때 엄청난 픽셀의 수를 계산하고 분석하는 데 있어 간단하게 만들어줄 수 있는 아주 기초적인 방법이 바로 SVD인 셈이다. 그래서 우리는 SVD를 통해서 Data reduction, Fast fourier transform, Tailored에서 발생되는 특정 문제들을 해결할 .. 2023. 10. 9.
[Python Examples] Energy Flows: Compartments and Rate Coefficients Energy Flows: Compartments and Rate Coefficients 포스트 난이도: HOO_Junior # Example Codes 이번 예제코드는 Energy flow를 살펴볼 수 있는 간단한 시뮬레이션 코드이다. N1부터 N5까지의 시뮬레이션 결과를 아래 예제코드를 통해서 확인할 수 있다. Rate coefficients 값들이 초기값으로 설정되어 있으며 Euler를 통해서 결과를 산출해 냈다. import numpy as np import matplotlib.pyplot as plt # Initial compartment sizes N1 = 2635 N2 = 213 N3 = 62 N4 = 9 N5 = 25 # Rate coefficients u51 = 1.310 u52 = 5.1.. 2023. 9. 29.
[Python Examples] Simple Age-class Simulation Simple Age-class Simulation 포스트 난이도: HOO_Junior # Example Codes 이번 포스트에서는 Simple Age-class Simulation를 통해서 timestep별 population 변화량을 살펴볼 수 있다. 아래의 예제를 토대로 경우의 수들을 붙여나가다가 보면 실제로 사용하는 모델링 시스템처럼 복잡한 나만의 시뮬레이션 모델을 만들어볼 수 있다. HOO_Junior의 포스트를 읽고 있는 브로라면, 이제는 코드 작성에서 벗어나 만들고자 하는 프로그래밍의 빠른 분석과 머릿속으로 구조화하는 연습을 해보는 것이 좋다. 많은 예제들을 더 살펴보면서 익혀나간다면 나중에는 머릿속으로 바로바로 그려지게 된다. 다만 연인에게는 "로봇 같다"라는 말을 들을 수 있기에 유의해야.. 2023. 9. 29.
[Python Examples] 문자열 거꾸로 출력하기: #for loop, #def, if statement 문자열 거꾸로 출력하기: #for loop, #def, if statement 포스트 난이도: HOO_Junior # Exmple codes 이번 포스트에서는 문자열을 거꾸로 출력해 보는 파이썬 예제코드를 살펴보려고 한다. 한마디로 문자열로 저장되어 있는 문장을 반대 순서로 출력이 되도록 만들어주는 셈이다. 아마 거꾸로 출력되는 문자열 예제는 프로그래밍 수업에서 웬만하면 많이 다루다 보니 이미 많은 브로들이 알고 있을 수도 있다. 그래서 한 가지 더 추가해서 특정 문자열만 출력이 되도록 하는 조건을 추가해 보았다. 이게 무슨 소리냐면, "/0"이라는 문자가 입력이 되어 있다면 이후에 작성된 문자열이 있더라도 산출되는 결과에 적용되지 않는 것이다. 또한 이번 예제코드에서는 for loop, if state.. 2023. 9. 25.
[Python Examples] Growth of a Bacterial Populations: for loop, matplotlib, array Growth of a Bacterial Populations: for loop, matplotlib, array 포스트 난이도: HOO_Junior # Example Codes 이번 예제코드는 박테리아 증식에 대한 결과를 산출해내고 있으며, 결괏값을 그래프로 나타내었다. matplotlib을 통해서 그래프로 표현이 가능하며, for loop를 통해서 각 시간대별 결과를 계산식으로 하여금 산출해 낼 수 있다. 또한 array를 활용해서 시간대별 값을 저장한 후에 그래프로 출력하는 데 사용하였다. 코드로 보면 허무할 정도로 간단해 보이지만 requirments나 계산식만 주어졌을 때 코드로 변환하는 과정이 어렵게만 느껴질 수 있다. 특히 이제 막 파이썬을 배우기 시작하거나 프로그래밍 자체를 다루기 시작한 학.. 2023. 9. 15.
[Python/VSCode/Macbook] ModuleNotFoundError: No module named ModuleNotFoundError: No module named 포스트 난이도: HOO_Junior # 모듈을 설치했는데도 에러가 발생하는 경우 Visual Studio Code에서 파이썬으로 코딩을 하려고 할 때 ModuleNotFoundError: No module named 라는 에러가 발생한다면, 모듈이 제대로 설치가 되었는지부터를 확인하는 것이 좋다. pip install을 통해서 모듈이 제대로 설치가 되었음에도 위와 같이 지속적으로 모듈을 찾을 수 없다는 메시지가 뜬다면 Python interpreter path가 제대로 지정되어 있지 않는 경우일 수 있으니 경로 지정만 해준다면 문제없이 모듈 사용이 가능하다. 이게 무슨 말이냐면 특정 폴더에 이미 각 모듈에 대한 정보가 설치되어 있지만 VS.. 2023. 8. 21.
[Python] bash: pip: command not found bash: pip: command not found # 맥북 vscode pip 에러 맥북에서 vscode를 사용할 때 발생할 수 있는 에러로 pip가 제대로 설치가 되어있지 않았다는 걸 의미한다. 한마디로 컴퓨터가 도대체 무슨 명령어인지 못 알아듣는 상황이라고 볼 수 있다. 윈도우 환경에서는 파이썬 설치와 동시에 pip의 명령어를 바로 사용할 수 있을 뿐만 아니라 자동으로 다른 모듈 설치까지 해주는데 도대체 이 놈의 맥북은 매번 애증의 관계이다. 아무튼 글쓴이의 나름의 여러 가지 방법을 토대로 찾아낸 가장 간단하게 해결할 수 있는 방법을 찾아냈다. # cURL cURL은 컬이라고 부르는 데이터를 전송하기 위해 특정 주소와 함께 작성된 명령줄에 해당된다. 한마디로 우리가 터미널에서 인터넷이라고 부르는 통.. 2023. 8. 11.
[Python Examples] 파이썬 랜덤 예제 코드: np.random.choice() 파이썬 랜덤 예제 코드: np.random.choice() 포스트 난이도: HOO_Junior # Example codes import numpy as np colors = ['black', 'white'] np.random.choice(colors, p=[0.75,0.25], size=10) array(['black', 'black', 'black', 'white', 'black', 'black', 'white', 'black', 'white', 'white'], dtype=' 2023. 1. 13.
[Python] KeyError: 0 (sklearn predict function error) 해결 방법 KeyError: 0 (sklearn predict function error) 해결 방법 포스트 난이도: HOO_Junior # KeyError: 0 (sklearn predict function error) sklearn은 Scikit-learn의 줄임말로써 대표적인 머신러닝 라이브러리 중에 하나이다. 머신러닝의 기초를 배우고 구조 데이터를 처리한다고 할 때 사용하는 라이브러리 중 하나가 바로 sklearn인 셈이다. sklearn에서 predcit function을 사용하려고 했을때 KeyError:0라는 에러가 발생하는 경우가 있다. KeyError:0의 원인은 작성된 코드에 따라 원인이 다양하다. 하지만 일반적으로 KeyError:0가 발생할 경우 defaultdict() 함수를 통해서 이 문제.. 2022. 12. 5.
[Python Examples] pd.DataFrame(): Section별 학생 구분하여 출력하기 pd.DataFrame(): Section별 학생 구분하여 출력하기 포스트 난이도: HOO_Intern # Example Codes import pandas as pd df = pd.DataFrame({"section": [3,1,1,2,2,3], "students": ['James', 'Julia', 'Megan', 'Henry', 'Minji', 'Yelin']}) sec_1 = df[df['section'] == 1] sec_2 = df[df['section'] == 2] sec_3 = df[df['section'] == 3] print(sec_1) print(sec_2) print(sec_3) section students 1 1 Julia 2 1 Megan section students 3 2 .. 2022. 10. 28.
[Python Examples] BeautifulSoup: lambda x: x.attrs['href'].startswith('http://www.vgchartz.com/game/'), lambda x: 'href' in x.attrs and x.attrs['href'].startswith('https://www.vgchartz.com/game/') BeautifulSoup Examples: vgchartz.com/game 포스트 난이도: HOO_Junior # Example Code from bs4 import BeautifulSoup, element import urllib import pandas as pd import numpy as np pages = 19 rec_count = 0 rank = [] gname = [] platform = [] year = [] genre = [] critic_score = [] user_score = [] publisher = [] developer = [] sales_na = [] sales_pal = [] sales_jp = [] sales_ot = [] sales_gl = [] urlhead = 'ht.. 2022. 10. 28.
[Python Examples] max()를 사용하지 않고 if문으로 최댓값 구하기 max()를 사용하지 않고 if문으로 최댓값 구하기 포스트 난이도: HOO_Intern # Example Codes x = 5.678 y = 5.988 z = 5.123 max_num = input("please choose one number x, y, z: ") if max_num == 'x': max_num = x if max_num < y: max_num = y if max_num < z: max_num = z elif max_num < z: max_num = z if max_num < y: max_num = y else: max_num = x elif max_num == 'y': max_num = y if max_num < x: max_num = x if max_num < z: max_num =.. 2022. 10. 19.
[Python Examples] 파이썬 if문 예제: Sphere, Cylinder 계산하기 파이썬 if문 예제: Sphere, Cylinder 계산하기 포스트 난이도: HOO_Intern # Example Code val = int(input("Please Enter the Option: 1 is Cylinder and 2 is Sphere: ")) if val == 1: cr = float(input("Enter a radius: ")) ch = float(input("Enter a height: ")) cylinderCal = 3.14*cr*cr*ch print("Volume of a Cylinder: ", cylinderCal) elif val == 2: sr = float(input("Enter a radius: ")) sphereCal = 4*(3.14*sr*sr*sr/3) print.. 2022. 10. 10.
[Python Examples] 파이썬 리스트 예제: 특정 원소 또는 값 찾기 파이썬 리스트 예제: 특정 원소 또는 값 찾기 포스트 난이도: HOO_Intern # Example Code def find_HOO(x): if "HOO" in x: print("HOO is here!") else: print("HOO is not here.") list1 = [15.6,"Wally",54,"Osvaldo"] list2 = ["Wald","HOO",6] list3 = [1,2,3,4,5,6,7,8,"HOO",10,11] print("List1: ") find_HOO(list1) print("List2: ") find_HOO(list2) print("List3: ") find_HOO(list3) List1: HOO is not here. List2: HOO is here! List3: HO.. 2022. 10. 7.
[Python Examples] 파이썬 텍스트 파일 만들기: open(), %pycat 파이썬 텍스트 파일 만들기: externalfile, open(), %pycat 포스트 난이도: HOO_Intern # Example Code externalfile = open("HOOAI.txt",'w') add_text = "Hi, I'm HOO. \n" externalfile.write(add_text) add_text = "This is a HOOAI Post. \n" externalfile.write(add_text) add_text = "Nice to meet you! \n" externalfile.write(add_text) externalfile.close() %pycat HOOAI.txt Hi, I'm HOO. This is a HOOAI Post. Nice to meet you! 다른.. 2022. 10. 7.
[Python Examples] 파이썬 format() 예제 파이썬 format() 예제 포스트 난이도: HOO_Intern # Example Code 1 format() function을 활용해서 문자열이나 숫자와 같은 데이터를 넣어줄 수 있다. 아래의 예제를 통해서 format을 활용해서 문자열을 넣는 방법을 살펴볼 수 있다. str='HOO' print('Hello, I\'m {}. Nice to meet you'.format(str)) Hello, I'm HOO. Nice to meet you 위의 예제를 살펴보면 str이라는 문자열이 format 함수를 통해서 어떻게 사용되고 있는지 알 수 있다. 위와 같이 Variable로 별도로 지정을 해준 다음에 format() 안에 넣어도 되지만 format() 안에 문자열을 바로 넣어도 무방하다. Variable.. 2022. 10. 7.
[Python Example] print(), print(sep=), print(c1+c2+c3..) 차이점 print(), print(sep=), print(c1+c2+c3..) 차이점 포스트 난이도: HOO_Intern [Notice] 포스트 난이도에 대한 설명 안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다 whoishoo.tistory.com # Python Example Codes c1='H' c2='O' c3='O' c4='A' c5='I' print(c1,c2,c3,c4,c5) print(c1,c2,c3,c4,c5,sep='') print(c1+c2+c3+c4+c5) H O O A I HOOAI HOOAI 파이썬(Python)에서 문자열(String).. 2022. 9. 29.
[Python] 파이썬 \r, \n, \b 파이썬 \r, \n, \b 포스트 난이도: HOO_Intern [Notice] 포스트 난이도에 대한 설명 안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다 whoishoo.tistory.com # \r s= "HOO \rHOOAI" print(s) HOOAI 파이썬에서 \r를 사용할 경우 \r 뒤에 있는 문자열(String)만 출력이 된다. 위의 예제 코드에서 String에는 HOO \rHOOAI이지만 실제로 출력되는 String은 HOOAI만 출력되는 걸 확인할 수 있다. s= "HOO\rHOO\rAI" print(s) AI 위 예제 코드의 경우에는 \r이.. 2022. 9. 28.
[Python Examples] 입력된 숫자가 Palindrome인지 확인하기 예제 코드 입력된 숫자가 Palindrome인지 확인하기 예제 코드 포스트 난이도: HOO_Intern [Notice] 포스트 난이도에 대한 설명 안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다 whoishoo.tistory.com # Python Example Codes def check_palindrome(val): cal = val pal = 0 while val > 0: num = val % 10 pal = pal * 10 + num val = val//10 if cal == pal: print(cal, "is a palindrome number.") else.. 2022. 9. 28.
[Python Examples] bool을 작성하지 않고 산술 계산식을 True or False로 나타내기 bool을 작성하지 않고 산술 계산식을 True or False로 나타내기 포스트 난이도: HOO_Intern [Notice] 포스트 난이도에 대한 설명 안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다 whoishoo.tistory.com # Python Example Code 6+4==10 or 4+5!=9 True 파이썬에서는 별도의 bool 지정 없이도 bool을 사용할 수 있으며, 앞서서 True에 대한 조건이 선언되어 있거나 정의되어 있다면 올바른 bool 값이 산출된다. 위의 예제 코드를 살펴보면, 산술 계산식에 대한 참인지 거짓인지에 대한 코드.. 2022. 9. 26.
[Python] 파이썬 변수명 규칙: snake_case, CamelCase 파이썬 변수명 규칙: snake_case, CamelCase 포스트 난이도: HOO_Intern [Notice] 포스트 난이도에 대한 설명 안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다 whoishoo.tistory.com # 파이썬 변수명 작성 규칙 변수명이란 Variable name에 해당하며, 특정한 값을 지정하여 사용이 가능하다. 파이썬에서는 변수명을 작성할 때 지켜야 할 규칙이 있다. 다른 프로그래밍 언어에서처럼 Function 또는 Identifier 역할을 하는 키워드를 변수명으로 지정할 수 없다는 건 동일하다. 예를 들어서 break와 같이.. 2022. 9. 24.
[Python Examples] 파이썬 딕셔너리에서 특정 원소 없애는 방법(Dictionary pop()) 파이썬 딕셔너리에서 특정 원소 없애는 방법(Dictionary pop()) 포스트 난이도: HOO_Intern [Notice] 포스트 난이도에 대한 설명 안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다 whoishoo.tistory.com # Example Codes # Create a dictionary peopleSalary = { 'HOO': 25000, 'Henry': 35000, 'James': 30000, 'Amy': 40000 } # Use pop() in a dictionary peopleResult = peopleSalary.pop('Jam.. 2022. 9. 24.
[Python Q&A] Lab session for variables, operators, expressions, basic I/O, and string manipulation Lab session for variables, operators, expressions, basic I/O, and string manipulation # Exercise 01 print('Sup World?') print(3 + 2 ) print('3 + 2') MyNumber = 3+2.0 MyName = 'Dusty' print(MyName, MyNumber) print('MyName', 'MyNumber') Sup World? 5 3 + 2 Dusty 5.0 MyName MyNumber What is the difference between print(3 + 2) and print('3 + 2') ? 위의 코드에서 3 + 2 를 출력하면 5가 나오지만 '3+2'를 출력하면 3+2가 산출된다. 3.. 2022. 9. 20.
[Python] 파이썬 라이브러리(Python Libraries) 파이썬 라이브러리 (Python Libraries) 포스트 난이도: HOO_Intern [Notice] 포스트 난이도에 대한 설명 안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다 whoishoo.tistory.com # 프로그래밍 언어, 파이썬 기계어로 구성된 프로그램을 개발하고 보완하는데 손쉽게 다루고자 사용하는 언어가 바로 프로그래밍 언어이다. 한마디로 프로그래밍 언어는 개발자를 위한 언어일 뿐 기계가 바로 이해할 수 없는 형태의 언어이다. 다행히도 기계어로 변환하는 걸 걱정할 필요 없이 개발자는 편하게 프로그래밍 언어를 통해서 프로그래밍을 하면 된다... 2022. 9. 8.
728x90