Python
-
[ydata-profiling] 판다스 프로파일링 사용시 파이썬 한글 깨짐 문제 해결하기Python/Pandas, Numpy 2023. 8. 28. 09:27
ydata-profiling (판다스 프로파일링) 사용시 한글 깨짐 문제 해결하기 파이썬 (Python) 으로 EDA (Exploratory Data Analysis, 탐색적 데이터 분석) 을 하기 위해서는 주로 표 형식의 데이터를 조회할 수 있는 판다스 (Pandas) 와 시각화 패키지를 사용해 이것저것 시각화를 해 보는 것부터 시작합니다. 그런데, ydata-profiling (구 판다스 프로파일링) 이라는 패키지를 사용하면, 최대한 다양한 시각화 자료를 한번에 도출할 수 있어서 데이터 분석가들에게 추천드리고 있어요. 한글 깨짐 문제 확인 하지만, ydata-profiling을 사용할 때 주의할 점이 하나 있습니다. 바로, 한글이 포함된 데이터를 시각화할 때 한글이 깨지는 문제점이 발생한다는 점이지요..
-
[time] 파이썬 코드의 실행시간 측정해보기Python/파이썬 기초 2023. 8. 25. 10:23
파이썬 코드의 실행시간 측정해보기 간단한 프로그램을 만들면 모르겠지만, 파이썬(Python)으로 복잡하거나 큰 용량의 파일을 다루는 프로그램을 만든다면 코드 최적화가 필수입니다. 그런데, 최적화 기법보다 중요한게 코드 실행시간을 확인하는 것이죠. 코드의 실행시간은 단순하게 스톱워치를 대고 측정하는 것부터 시작해서 코드로 시작 시간과 종료 시간을 구하는 세련된 방법까지 있습니다. 이번에는 파이썬에서 time 패키지를 이용해 코드의 실행 시간을 측정하는 프로그램을 한번 만들어봅시다. 우선 아래 코드를 입력해 보죠. # 패키지 불러오기 import time start = time.perf_counter() ######## 여기에 임의의 코드를 입력할 수 있습니다 ####### list1 = [i for i i..
-
[OpenCV] 파이썬 스테레오 비전으로 이미지의 심도 알아보기 (Stereo Vision)Python/시각화, 이미지 2023. 8. 23. 11:31
파이썬 스테레오 비전으로 이미지의 심도 알아보기 자율주행자동차는 물론, 요즘에는 대부분의 스마트폰에도 카메라를 여러대 탑재하는게 당연한 시대입니다. 카메라를 여러대 장착하는 것은 다양한 이유가 있지만, 대표적으로 이미지의 심도(깊이, depth) 정보를 손쉽게 구하기 위함이지요. 이건 간단히 표현해서, 우리가 한쪽 눈으로 봤을때보다 양쪽 눈으로 봤을때 거리감이 더욱 잘 살아나는 것을 생각하면 됩니다. 이렇게 여러개의 카메라 (Stereo camera) 를 이용해 심도 정보를 알아내는 기술을 스테레오 비전 (Stereo Vision) 이라고 하는데요, 파이썬(Python)을 이용하면 스테레오 비전 계산을 손쉽게 할 수 있습니다. OpenCV 패키지를 이용해서 말이죠. 이 글은 OpenCV 공식 문서 중 를..
-
[Python] 함수 가변인자 *args, **kwargs 사용법 알아보기Python/파이썬 기초 2023. 8. 22. 09:39
파이썬 함수에서 가변인자 *args, **kwargs 사용법 알아보기 우리가 프로그래밍을 하다보면 함수를 사용하기 마련입니다. 그리고, 파이썬(Python)에서 함수를 쓰다보면 간혹 이상한 표현이 눈에 띄기도 하지요. 바로 *args, 또는 **kwargs라는 표현입니다. 이 두 가지 표현은 가변인자 (Variadic Arguments) 라고 표현하는데요, 굳이 사용하지 않더라도 대부분의 프로그래밍 과정에는 문제가 없지만 알고 있다면 코드 작성의 편의성이 크게 늘어나기 때문에 알아두시는 것을 추천드립니다. *args의 용도 알아보기 *args는 파이썬의 가변인자 중에서 몇개를 입력할지 모르는 상황에서 사용하는 표현입니다. 파이썬의 함수에서 어떤 값을 받을때는 몇개를 받을지 명시를 하는 것이 보통입니다. ..
-
[ipykernel] 주피터 노트북에 conda 가상환경을 연결하는 방법Python/개발환경 2023. 8. 21. 09:17
주피터 노트북에 가상환경을 연결하는 방법 알아보기 파이썬(Python) 개발에 흔히 사용되는 통합개발환경(IDE)으로 주피터 노트북(Jupyter Notebook)을 빼놓을 수 없습니다. 웹앱 기반이라 어디서나 주소만 입력하면 접속이 가능하고, 각 셀 단위로 코드를 실행할 수 있기 때문이지요. 그런데, 주피터 노트북은 다른 IDE에 비해서 현재 컴퓨터에 설치된 가상환경을 마음대로 오갈 수 있는 기능을 찾아보기 어려운 편입니다. 그래서, 이번에는 파이썬 개발 프로젝트 때문에 conda 가상환경을 만들었을 때 주피터 노트북 (또는 주피터 랩) 에 연결할 수 있는 방법을 알아보도록 하겠습니다. 저는 자연어 처리 프로그램을 하나 만들어보기 위해 kobert 라고 하는 가상환경을 만들어 봤습니다. conda 가상..
-
[scikit-learn] 파이썬 선형회귀(Linear regression)로 게 나이 예측하기Python/기계학습 2023. 8. 14. 08:05
파이썬에서 선형회귀(Linear regression)를 이용한 게 나이 예측하기 통계 또는 기계학습을 배우다 보면, 선형 회귀(Linear regression)라는 말을 흔히 들어볼 수 있습니다. 선형 회귀는 통계학 분야에서 예측을 할 때 쉽게 떠올릴 수 있는 모델인데요, 빠른 이해를 위해서 사용 예시를 설명해 드리자면 다음과 같은 사례를 생각해볼 수 있습니다. 도시의 인구수와 집값의 관계를 이용해서, 향후 인구가 X명 늘어났을 때 집값이 얼마나 오르거나 내릴지 예측을 해 보자! 특정 기간의 영화 평점은 실제로 해당 기간 영화의 매출이랑 관계가 있을까? A 회사의 주가에 영향을 주는 요인 중 금리, 매출, 점유율 중 어떤 요인이 가장 인과성이 높을까? 등이 있겠죠. 선형 회귀는 독립 변수 X와 종속 변수..
-
[plotly, Matplotlib] 파이썬으로 3차원 산점도 (3D Scatter Plot) 그려보기Python/시각화, 이미지 2023. 8. 8. 09:54
파이썬으로 3차원 산점도 (3D Scatter Plot) 그려보기 다변량 분석 (Multivariate analysis)를 하다보면 고차원 데이터를 표현해야 할 경우가 생깁니다. 고차원이라고 해 봤자, 우리가 볼 수 있는 차원은 3차원이 한계이므로 시각화를 할 때는 필연적으로 3차원 이하의 세계에서 표현할 수 있어야 한다는 제약이 생깁니다. 게다가, 컴퓨터 모니터나 인쇄물은 2차원이므로 실질적으로 표현 가능한 차원의 한계는 2차원이라고 해도 좋습니다. 시각화 분야에서는 2차원 이상의 고차원 데이터를 보여주는 방법으로는 아래 기술을 이용합니다. 2차원 데이터: x, y축을 가진 좌표계 위에 표시한다. 3차원 데이터: 3차원 좌표계를 2차원에 투사해 표시한다. 4차원 데이터: 3차원 데이터 시각화에 더해, ..
-
[Python] 파이썬 랜덤 추첨 프로그램 만들어보기Python/파이썬 기초 2023. 8. 4. 08:28
파이썬에서 랜덤 추첨 프로그램 만들어보기 어떤 데이터가 무더기가 있고, 이중에서 무작위로 데이터를 추출하는 방식의 작업은 아주 낮은 난이도의 자동화 작업입니다. 파이썬(Python)에서는 흔히 로또 번호 추첨 프로그램 만들기 실습 등으로 구현하는데요, 이번에는 파이썬을 이용해서 몇 가지 랜덤 추첨 프로그램을 만들어보는 작업을 해 보도록 하겠습니다. 이번에 만들 프로그램은 아래와 같습니다. 특정한 범위 안에서 무작위 당첨 번호를 하나 추첨하는 프로그램. 1의 프로그램에서 중복은 제외하고 여러 숫자를 뽑는 프로그램. 로또 번호 추첨 프로그램과 같은 형식이지요. 사람이 숫자를 추첨할 때는 두 행동의 차이가 거의 없지만, 프로그램으로 구현할 때는 편의상 다른 코드를 사용합니다. 만약에 학교를 다닐 때 조합(co..