본문 바로가기

Python5

[error] name '__file__' is not defined [상황]jupyter에서 현재 작업 디렉토리를 찾아 파일을 찾으려 했다.평소대로 os.path.dirname(__file__)을 사용해서 파일을 찾았는데 해당 에러가 발생했다. [문제 원인] '__file__'은 python이 디스크에서 파일을 읽어 실행할 때 자동으로 설정되는 변수이다. 파일 경로가 존재하지 않는 실행방식에서는 python이 경로를 알 수 없으므로 변수 자체를 설정하지 않는다. jupyter notebook은 대화형(interactive) 스크립트이므로 __file__이 정의 되지 않는다.-> __file__은 스크립트로 실행될 때 실행되는 변수이지만, jupter는 셀단위로 실행되는 변수라 항상 오류가 남 __file__ 은 python 이 디스크에 저장된 .py 파일을 실행 할 때.. 2026. 5. 8.
Pandas 기초 퀴즈 Q1. DataFrame과 Series의 차이 설명으로 가장 알맞은 것은?DataFrame은 표 전체이고, Series는 보통 한 개의 열이나 1차원 데이터예요.DataFrame은 숫자만 담고, Series는 문자만 담아요.DataFrame은 한 행만 담고, Series는 여러 표를 묶어요.DataFrame과 Series는 이름만 다르고 완전히 같은 구조예요.Q2. loc와 iloc의 차이로 가장 알맞은 것은?loc는 위치 번호 기반이고, iloc는 문자열 검색용이에요.loc는 레이블 기반이고, iloc는 위치 기반이에요.loc는 열 선택만 가능하고, iloc는 행 선택만 가능해요.loc와 iloc는 항상 같은 결과만 내요.Q3. 문자열 열에서 "Din"이 포함된 행만 찾고 싶어요. 가장 알맞은 코드는?.. 2026. 5. 7.
OpenCV와 Python을 활용한 명함 이미지 보정 OpenCV와 Python을 활용한 명함 이미지 보정 예제전체 코드import sysimport osimport numpy as npimport cv2img_path = os.path.join(os.path.dirname(__file__), 'namecard.jpg')src = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), cv2.IMREAD_COLOR)if src is None: print('Image load failed!') sys.exit()w, h = 720, 400srcQuad = np.array([ [222, 95], [622, 178], [547, 416], [145, 317]], np.float32)dstQua.. 2026. 5. 7.
Python - List 수업정리chapter List를 사용하는 이유List 개념리스트 생성슬라이싱 문법리스트 삭제 방법리스트 관련 함수append() vs extend() 1. List를 왜 사용하는가유사한 데이터를 여러 개 다룰 때, 각각을 개별 변수로 선언하면 코드가 길어지고 관리와 조작이 비효율적이다.이를 해결하기 위해 여러 데이터를 하나의 구조로 묶어 저장하고, 반복 처리 및 일괄 조작을 가능하게 하는 자료형이 리스트이다.2. List 데이터 목록을 다루는 자료형개별적인 값을 하나의 변수에 담아서 처리매번 변수의 이름을 작성하고 관리하는 것보다 편리하고 효율적한꺼번에 복사하고 조작이 가능 항목 또는 요소리스트를 이루는 원소로 쉼표로 구분된 자료값요소의 유형각 요소들의 자료형은 반드시 같을 필요는 없다.리스트의 요소는 .. 2026. 4. 14.
scikit-learn으로 시험점수 예측하기 - 선형회귀(Linear Regression) Scikit-learn파이썬 기반의 오픈소스 머신러닝 라이브러리데이터 분석과 예측모델을 구축하기 위한 간결하고 효율적인 도구 모음을 제공한다. 선형회귀를 왜 사용하는가공부시간 - 시험점수 이 둘의 관계는 '공부를 많이 할 수록 점수가 오른다' 라는 직선의 관계를 가지고 있다.이럴 때 사용하는 것이 선형회귀(Linear Regression)이다. 데이터 준비import numpy as npX = np.array([[1], [2], [3], [4], [5], [6], [7], [8], [9], [10]])y = np.array([40, 45, 50, 55, 60, 65, 70, 78, 85, 90])x -> 공부한 시간 (입력값 == Feature)y -> 시험 점수 (정답 데이터 == Label) 학습.. 2026. 3. 23.