전체 글 188

pandas 를 이용한 일본 월세 부동산 정보 분석 - 2

칼럼의 전처리주소(住所)로 부터 행정구역 도/현 시/구 칼럼을 신설건축연수(築年数)로 부터 문자를 숫자로 변환월세(家賃)를 문자열로 부터 수치 수치 엔 단위로 변환관리비(管理費)를 문자열로 부터 수치 엔 단위로 변환월세합계(家賃合計) 칼럼을 신설(家賃合計=월세(家賃)+ 관리비(管理費))월세단가(家賃単価) 를 신설(=월세합계(家賃合計)÷면적(面積))구조(間取り)로 부터 방수(部屋数) 칼럼을 신설입지( 立地 ) 1 2 3 을 노선(路線) 가까운역(最寄駅) 수단(手段) 시간(時間)으로 분해 1. 주소(住所)로 부터 행정구역 도/현 시/구 칼럼을 신설住所 칼럼(series)의 값들을 apply 의 lambda 로 처리정규표현( https://eldercoder.tistory.com/167 )의 [ ] 를 써서 ..

카테고리 없음 2025.02.18

pandas 를 이용한 일본 월세 부동산 정보 분석 - 1

1. 데이터 수집 web scrapping ( https://eldercoder.tistory.com/194 )를 이용하여 일본 부동산 정보 사이트 suumo 로 부터 도쿄 3개 지역(  시부야 / 메구로 / 하치오우지 시 ) 월세 정보를 추출하여 각각 suumo_shibuya.csv / suumo_meguro.csv / suumo_hachiouji.csv 화일로 추출하였다. 이들을 합친 결과를  pandas DataFrame 에 저장하였다.import pandas as pd df_1 = pd.read_csv('/content/drive/MyDrive/suumo_hachiouji.csv', sep=',', index_col=0) df_2 = pd.read_csv('/content/drive/MyDrive..

data science/pandas 2025.02.18

docker 릴리스

docker 를 개발 PC에서 작성하여 서비스할 서버에 배포를 해야 할 경우, docker hub 사이트를 통하여 업로드하여 다운로드하는 방식으로 가능하다. 하지만 이를 위해서는 돈을 지불해야 한다.https://hub.docker.com/ docker hub를 이용하지 않는 방법을 소개한다. 1. 개발 PC에서의 docker 이미지 리스트 조사 $ docker imagesREPOSITORY   TAG       IMAGE ID       CREATED         SIZEyaho/web           1.0       d3e7f2099862   7 seconds ago   62.6MB  2. 옮길 대상의 docker 를 tar 압축화일로 출력 $ docker save -o  yaho_web_ima..

Commands/docker 2025.02.17

(colab) web scrapping

웹스크래핑이란 웹서버로 부터 html 전체를 가져와서 html 태그내에 있는 유용한 데이터를 추출하는 것이다. 최근 사이트들은 Scrapping 방지를 해 놔서 일반적인 python 의 requests.get(url) 로는 Timeout 에러가 발생한다. 하지만 웹 브라우저(Chrome, Firefox 등등)을 이용하면 제한은 없어지기 때문에 프로그램적으로 웹 브라우저를 통제하기 위해서 python에서 selenium 라이브러리를 통하여 작동할 OS에 설치되어 있는 브라우저에 맞는 Webdriver를 이용한다.  프로그램이 동작할 OS에서의 설정은 까다로운 편이지만, Google Colab 에서는 아래와 같이 간단하게 설정하면 된다.!pip install google-colab-selenium impor..

data science/python 2025.02.16

close contours (convexHull 사용)

과제findContours 에 RETR_EXTERNAL 옵션을 주면 가장 외곽의 연결된 선의 좌표들을 추출하는데, 만약 그 외곽선의 일부가 약한 픽셀로 되어 있다면 결과는 봉쇄되지 않은 contour로 인해 안쪽의 contour 좌표들도 결과로 추출되게 된다.결과적으로 가장 외곽의 contour만 추출하고자 한다.  아이디어모든 contour의 포인터들을 하나의 벡터에 집어넣고 그 벡터를 convexHull 로 처리하면 외곽에 완만한 곡선의 결과 포인트들만 얻을 수 있다.처리속도를 고려한다면 모든 포인트들을 전부 벡터에 넣을 필요는 없고 간격을 두고 처리하는 것도 좋은 아이디어이다.※ convexHull 과 approxPolyDP 의 차이점은 approxPolyDP 가 모든 contour 포인트들 대상으..

opencv 2025.02.16

스캔 이미지 중 여러 영수증 분리하기

과제아래와 같이 영수증을 모아 스캔한 이미지가 있고 영수증 영역을 각각 분리하고자 한다. 아이디어1. 위에 4장은 세로로 길고 아래 한장은 옆으로 눕혀있다.2. 위의 4장은 세로이므로 흑백 이미지로 변환한 후 세로로 길게 (3 x 40) 모펄러지 필터를 적용하자3. 2의 필터로 문자들간에 거리가 40픽셀 이하는 하나로 묶여지게 되었고 큰 덩어리로 서로 분리 되었다.    큰 틀안에 독립된 덩어리들도 존재하지만 5번에서 처리.4. findContours 실시하여 먼저 덩어리의 면적 순으로 내림정렬를 시킨다. 5. 작은 덩어리들은 큰 덩어리 내 혹은 겹치지 않는지 조사하여 합체 시키고, 외에 존재하는 덩어리들은 한 묶음으로 하기 위해 시작점과 끝점을 벡터에 등록한다.6. 큰 덩어리는 빨간색으로 작은 덩어리들..

opencv 2025.02.15

자동차 번호판 추출하기

아이디어1. 흑백으로 변환하여 contour 를 실시2. approxPolyDP로 contour 결과로 부터 꼭지점이 4개(4개의 코너)인 것 중 가장 면적이 넓은 contour를 기억approxPolyDP 알고리즘은 정확한 형태를 추출하는게 아니라 contours를 간단화 하는 것이다.contour의 형태에 적게 공헌하는 포인트들은 제거되고 형태에 공헌을 많이 하는 코너들은 남게 되는 것이다.옵션의 epsilon 은 작을수록 제거되는 포인트들은 줄게되고 큰값 일수록 많은 포인트들이 제거되어 간단화가 크게 이루워 진다.3. boundingRect 로 사각형의 좌표와 사이즈를 추출 주의) 노이즈가 심한 경우 contour결과에 영향을 줄 수 있으니 필터링에 신경을 더 써야 할 경우가 있다.번호판 보다 더 ..

opencv 2025.02.15

Naïve Bayes (나이브 배이스) Classifier - 실전 1

아래와 같이 X_train 과 Y_train 을 가지고 학습을 한 뒤 X_test 가 Y 일지 N 일지 분류하고자 하자.X_train = np.array([  [0, 1, 1],                                 [0, 0, 1],                                 [0, 0, 0],                                 [1, 1, 0]] )Y_train = ['Y', 'N', 'Y', 'Y']X_test = np.array([ [1, 1, 0] ]) Naïve Bayes (나이브 배이스) Classifier 에서 설명한 것 처럼 다시 구성을 하면 아래와 같다.'Y' 의 총수는 3개이고 'N' 의 총수는 1개이다. 전체는 4개의 데이터...

It is what it is. ?

https://youtube.com/shorts/9Eu6jOUwN-Q?si=NKR6WPCYcOcsvf74 구어체에서 친구나 지인들에게 주로 불행한 일이 일어 났을때 일어난 일을 받아들여 라는 뜻으로 쓰인다.    "It is what it is" is a term used informally when speaking to friends or peers. It means that you accept whatever it is that happened to you. Often, this term is used when something unfortunate happens but you just accept the outcome of it or try and turn it into a positive conn..

youtube english 2025.02.14