반응형

전체 글 764

[Python] Numpy 행렬(Matrix) 함수(Shape, Reshape)

목차 파이썬 Numpy 행렬(Matrix) 함수 : Shape Shpae 함수는 numpy array 로 만든 행렬의 행의 수와 열의 수를 카운트 해줍니다. 사용 방법은 아래와 같습니다. tuple 값(행,열) = numpy.shape(numpy array) 위와 같이 넘파이 어레이 값을 입력으로 넣으면 입력의 행과 열을 tuple(튜플)로 출력해 줍니다. arry에 들어 가는 [[ ]] 괄호를 두번 중첩해야지 matrix로 인식합니다. 한번만 사용하면 행만 있는 것으로 인식 합니다. 아래 예제를 보시면 쉽게 이해할 수 있습니다. 예제 코드>> import numpy as np; np_list0 = np.array([1,2,3,4]) np_list1 = np.array([[1,2,3,4]]) print(..

[Python]Numpy 기본 팁: Max, Min, 조건검색(where), 정렬(Sort)

목차 파이썬 Numpy 최대값 찾기 Numpy 리스트 중에서 최대값 찾는 것은 argmax 함수를 사용해서 검색 합니다. index 리턴 값 = np.argmax(리스트) 위와 같이 index 값을 return 해 줍니다. 예제 코드>> import random import numpy as np a_list = [random.randint(0,200) for x in range(10)] max_list = np.argmax(a_list) print("a_list : ", a_list) print("a_list max index : ", max_list) print("a_list max : ", a_list[max_list]) 4번 라인: 랜덤 함수로 임의의 리스트 값을 만듭니다. 9번 라인: 출력 값은 ..

[Python] 프로그램 동작 시간 측정 함수 timeit 사용방법(Visual Studio)

목차 파이썬 timeit 함수 Syntax sort (정렬)이나 랜덤(Random)값을 만들거나 함수를 만들어서 동작하는데 시간이 얼마나 걸리는지 확인하는 작업은 중요합니다. 코드가 얼마나 효율적으로 만들었는지 알 수 있는 지표이기 때문입니다. 시간 측정을 위해 파이썬(Python)에서 제공하는 timeit 이라는 함수를 사용하면 쉽게 동작 시간(Operation Time)을 측정 할 수 있습니다. Syntax는 아래와 같습니다. timeit.timeit(stmt='함수/코드', setup='경로포함', number=동작횟수) timeit.repeat(stmt='함수/코드', setup='경로포함', number=동작횟수, repeat=반복횟수) timeit 은 반복 측정이냐 한번 측정이냐에 따라 tim..

[Python] Pandas CSV 파일 읽기 (에러 발생/해결)

목차 파이썬 판다스로 CSV 파일 읽기 문제 발생 이번 포스트는 어떤 프로그램을 통해서 데이터를 저장하였고 저장은 csv file로 하였습니다. 데이터 분석을 위해 pandas dataframe을 사용하려고 하는데 csv 를 불러 오는 과정에서 에러가 발생하였습니다. 해결 방법에는 2가지가 있는데 아래에서 소개하겠습니다.(CSV file to dataframe/series)) 우선 아래 예제 코드 처럼 pandas의 read_csv 함수를 사용해서 동일 폴더 안에 있는 csv file을 읽는 코드를 작성했습니다. 예제 코드>> import pandas as pd data = pd.read_csv('Driving_data_long.csv') print(data) 에러 코드>> Traceback (most ..

[Pymongo] 엑셀파일 mongodb에 업로드하기(Excel to mongoDB)

목차 [Pymongo] 엑셀파일 mongodb에 업로드하기(Excel to mongoDB) 이번 포스트에서는 엑셀파일에 있는 데이터를 파이썬의 pymongo 라이브러리를 사용해서 Mongodb에 올려보겠습니다. 코드 실행에 앞서 아래 작업들이 선행되어있다고 생각하고 진행하겠습니다. 파이썬 설치 mongodb 설치 (윈도우 버전, windows) pymongo 라이브러리 설치 mongodb 연결은 localhost로 연결할 것이고 Port는 기본 default에서 변경하지 않은 27017번으로 사용 합니다. [Pymongo] MongoDB에 연결하기 예제 코드>> import pymongo def Connect_DB(): connect_to = pymongo.MongoClient("localhost", 2..

[Python]Matplotlib 그래프 그리기 팁(사이즈, subplot, 주석

목차 파이썬 matplotlib을 사용하기 위해서는 pip install matplotlib으로 설치를 우선 진행하여야 합니다. 아래는 matplotlib을 효과적으로 사용하기 위한 팁과 트릭입니다. Plot 크기 조절하기 plot의 크기는 figure의 figsize로 x축과 y축 사이즈를 결정 합니다. 예제 코드>> import matplotlib.pyplot as plt import random fig=plt.figure(figsize=(4,4)) x=list(range(10)) y=[random.random() for _ in x] print(x) print(y) plt.title("graph title") plt.xlabel('x-axis') plt.ylabel('y-axis') plt.plot..

[Python]Pandas Dataframe 데이터 불러오기, loc, iloc 차이, 필터(Filter) 처리

목차 [파이썬] Pandas Dataframe loc, iloc 함수 정의 및 차이 loc 함수는 라벨(Label) 기준으로 행(Row)과 열(Colum)을 필터(Filter)해 줍니다. 예를 들어 3번 index에 내용을 찾을 때 3번 Index가 가지는 라벨 이름(name)을 통해서 검색합니다. 그리고 index 값을 이용해서 검색도 가능해서 index 검색 시 형 전체를 표기 해줍니다. iloc는 정수로된 index를 기준으로 필터링 해줍니다. index 값을 이용해서 행과 열 모두 검색 가능합니다. 아래 예제를 통해 쉽게 이해할 수 있습니다. [파이썬] Pandas Dataframe loc label 필터링 예제 아래 예제는 loc에 조건식을 넣어서 조건에 맞는 값만 출력되게 만든 loc 예제 입..

[Python] Pandas dataframe 중복 (동일)값 찾고 삭제하는 방법

목차 [파이썬] Pandas Dataframe 중복 값 찾기 판다스 Dataframe은 열과 행 (Column and row)로 구성되어 있습니다. 여기서 열 값 중에 같은 값들을 찾는 방법에 대해 알아 보겠습니다. 중복 값 찾기는 duplicate 함수로 구현 가능 합니다. 예제 코드>> import pandas as pd import numpy as np df = pd.DataFrame({ "name" : ["James", "James", "Kevin", "Adam", "David", "Adam"], "math" : [90,50,50,30,100,90], "physics" : [30,40,80,50,10,50], "english" : [90,70,30,90,90,40] }) print("Origial..

[Python] Pandas 여러가지 정렬방법(Multi Column, Index 제외 정렬 등)

목차 Python Pandas 정렬(Sorting) 파이썬의 판다스를 이용해서 정렬을 하려고 합니다. 엑셀에서 정렬을 해보시면 아시겠지만 열을 하나만 선택하거나 두개를 선택해서 정렬하거나 다양한 방법들이 있습니다. 이번 포스트는 index 사용 정렬이 아닌 column 관련 정렬로 sort_values 함수를 사용해서 정렬할 것입니다. 아래 예제 실습을 통해 사용 방법을 익혀보겠습니다. 기본 Column 하나로 정렬하기 예제 코드>> import pandas as pd import numpy as np df = pd.DataFrame({ "name" : ["James", "James", "Kevin", "Adam", np.nan], "math" : [90,50,50,30,100], "physics" : ..

[Python]Pandas에서 CSV 파일 읽기 에러 해결

목차 CSV 읽기 에러 현상 코드는 아래와 같이 단순하게 read_csv 함수로 csv 파일을 읽어 오는 것입니다. 문제코드>> import pandas as pd df=pd.read_csv("D:\\Driving_data.csv") print(df) 실행 결과 아래와 같은 에러 메세지가 발생하였습니다. 에러코드>> Traceback (most recent call last): File "d:\Python\test00\test02.py", line 3, in df=pd.read_csv("D:\\Driving_data.csv") File "C:\Users\forgo\AppData\Local\Programs\Python\Python310\lib\site-packages\pandas\util\_decorato..

[Python]OpenCV waitKey 함수 사용법, 이미지/동영상 파일 열고 닫기

목차 파이썬 OpenCV waitKey 함수란? OpenCV에서 제공하는 함수 중에 waitKey라는 함수가 있습니다. Syntax 는 아래와 같습니다. cv2.waitKey(time) time에는 지연 시키고 싶은 시간 값을 입력합니다. 단위는 밀리세컨드(millisecond)입니다. 사용 방법은 크게 두가지가 있습니다. 단순 시간 Delay 로 사용하는 방법과 키 입력 이벤트(Keyboard event)와 함께 진행하게 만드는 방법입니다. 아래 3개의 예제를 통해 이해해 보겠습니다. waitKey 시간 지연 예제 이번 예제는 단순히 1초 마다 카운팅하는 코드를 작성해보겠습니다. 예제 코드>> import cv2 for _ in range (5): print("Counting : ", _) cv2.wa..

[Python]OpenCV 컴퓨터 카메라로 화면 캡쳐해서 저장하기(Camera capture, save)

목차 파이썬 OpenCV 기본 함수 설명 노트북 카메라 동작과 카메라 화면 캡쳐 후 이미지 파일로 저장하는 예제에 필요한 함수들에 설명하겠습니다. cap = cv.VideoCapture(0) VideoCapture 클래스에 0을 입력해서 현재 컴퓨터에 연결된 메인 카메라를 불러서 Return 해 줍니다. Cap은 return이 들어가는 객체명으로 원하는 이름을 사용할 수 있습니다. ret, img = cap.read() 비디오 카메라 객체로 연결된 cap에서 이미지를 읽어서 이미지는 img에 넣고 이미지 읽는 성공 여부(True/False)는 ret에 넣어 줍니다. cv.imshow('PC_camera', img) img 객체를 PC_camera 라는 윈도우 창에 띄웁니다. cv.waitKey(1) ==..

[Python]tkinter 마우스 클릭 이벤트 시 그림 이동하기(Mouse, event, click, move)

목차 tkinter 마우스 클릭 이벤트 Syntax 파이썬의 tkinter를 사용해서 키보드로 이벤트 발생 시 도형을 만들고 이동하는 예제를 구현해 보았습니다(https://scribblinganything.tistory.com/280). 이번에는 마우스 왼쪽, 오른쪽, 가운데 휠을 눌러 도형을 이동하는 예제를 구현해 보겠습니다. event 를 사용하기 위해서는 tkinter에서 만든 객체를 bind를 사용해서 함수와 묶어야 합니다. 묶는 방법은 아래와 같습니다. app.bind("", 함수명) Button-1 : 마우스 왼쪽 버튼 클릭 Button-2 : 마우스 가운데 휠 클릭 Button-3 : 마우스 오른쪽 버튼 클릭 함수 명 : 이벤트 발생 시 실행하고자 하는 함수 명 아래 실제 예제를 통해 이해..

[Python]OpenCV 이미지 파일 용량(화질) 변경(압축)해서 저장하기

목차 [Python]OpenCV 이미지 파일 용량(화질) 변경해서 저장하기 : JPG 앞서 imwrite 함수 사용에 대해 간단하게 알아보았습니다. (https://scribblinganything.tistory.com/469) 이번에는 imwrite의 파라미터 값을 이용해서 원본의 화질 / 파일 크기를 줄여 보도록 하겠습니다. JPG, JPEG 파일의 경우 아래와 같은 파라미터 값을 넣습니다. 화질 정도는 0~100을 넣어 100은 원본 그대로 이고 0은 최저 화질로 생각하시면 됩니다. [cv2.IMWRITE_JPEG_QUALITY, 화질 정도] 예제 코드를 통해 어떻게 동작하는 지 쉽게 알아보겠습니다. 예제 코드>> import cv2 import os img_ori = cv2.imread('flow..

[Python]OpenCV 이미지 파일 저장, 파일 크기 확인하기(JPG, PNG, TIFF)

목차 OpenCV imwrite 함수 파이썬의 OpenCV에서 이미지 파일을 열거나 만든 다음에 파일을 다른이름으로 저장할 때 imwrite함수를 사용합니다. imwrite 함수의 Syntax는 아래와 같습니다. cv2.imwrite(filename, img, [parameters]) filename : 저장하고자 하는 파일명을 입력합니다. 확장자명까지 추가해서 이미지 파일(Image file)의 종류도 결정 합니다. img : 저장하고자 하는 이미지를 입력 합니다. parameters : 이미지 파일 포맷에 맞춰서 압축, 화질들을 결정하는 파라미터 값을 설정할 수 있습니다. OpenCV 이미지 파일 저장, 파일 크기 확인하기(JPG, PNG, TIFF) 예제를 통해 이미지 파일을 읽고 파일을 jpg, ..

[스마트 티비 리뷰]삼성 쉐리프 티비 1달 사용 후기(장단점)

목차 삼성 쉐리프(Samsung Serif) 티비 1달 사용 후기 이번에 큰 맘 먹고 스마트 티비를 구매하였습니다. 모델명은 KQ55LST01FFXKR로 55인치 스탠드 형입니다. 기존의 티비가 사이즈도 작고 스마트 기능이 없어서 크롬캐스트(Chrome cast)를 사용해서 넷플릭스, 유투브, 디즈니를 봤는데 발열 문제도 있고 불편해서 55인치 삼성 쉐리프 티비를 구매하게 되었습니다. 우선 정말 구매했는지를 보여 주기 위해 위에 사진을 첨부 했습니다. 구성은 티비와 리모컨 그리고 전원을 위한 케이블 정도로 심플 했습니다. 유선 티비를 사용하지 않는 저희로서는 그냥 티비에 와이파이만 연결하니 OTT 를 사용할 수 있었습니다. 구매를 210만원 정도에 했는데 쿠팡에 보니 10프로 할인해서 1,886,000원..

[Python]No module named numpy 관련 에러 해결 방법

목차 파이썬 Numpy 에러 코드 import numpy 후 실행하였을 때 아래와 같이 에러 코드가 발생하였습니다. 에러코드 Modulenotfounderror no module named numpy 파이썬 Numpy 에러 발생 원인 발생 원인은 크게 2가지로 볼 수 있습니다. Numpy 설치 안됨 Numpy 설치 안된 Virtual Environment 에서 동작 설치 방법>> 터미널 창에서 아래와 같이 입력 합니다. pip install numpy 가상환경에서 numpy가 설치되었는지 확인 후 안되어 있다면 가상환경에서 pip install을 사용해서 설치 합니다. 파이썬 Numpy 그 외 에러와 해결책 에러메세지>> No module named numpy.core._multiarray_umath 해..

[Python]OpenCV 란? Visual Studio에서 설치하고 버전 확인

목차 OpenCV 란? OpenCV는 Computer vision, machine learning, image processing을 위한 라이브러리 입니다. 예를 들어 이미지나 비디오를 분석해서 무엇인지를 식별하거나 이미지에서 텍스트를 추출하는 등 최신 기술에 필요한 핵심 기술 입니다. OpenCV를 사용해서 이미지의 패턴이나 특징, 정보를 추출하고 파이썬의 Numpy와 같이 사용해서 빅데이터와 같은 데이터 분석에도 이용됩니다. Visual Studio에서 설치하고 버전 확인 설치 코드>> pip install opencv-python pip install로 쉽게 설치 가능 합니다. 설치 완료 후 아래와 같이 정상 동작하는 지 버전을 확인할 수 있습니다. 버전 확인 코드>> import cv2 print..

[Python]지수 분포란? 파이썬으로 구현하고 그래프 만들기(Exponential Distribution)

목차 지수 분포란(Exponential Distribution)? 지수 분포는 푸아송 분포와 연결해서 생각할 수 있습니다. (아래 링크 참조) [Python]푸아송 분포란? 파이썬으로 구현하고 그래프 그리기(Poisson distribution) (tistory.com) 푸아송 분포는 간단하게 설명하면 λ = np를 사용해서 n번 시행하니 p의 확률이 발생했다는 비율을 사용해서 분포를 구하는 것입니다. 즉, 단위 시간당 n 번 발생 확률(Probability)을 이용해서 분포를 구성하는 것이고 지수 분포는 어떤 사건이 발생하기 까지의 시간의 확률로 분포를 만든 것입니다. 예를 들어 A는 매일 커피를 3잔 씩 마실 확률이 0.5면 λ(람다)값은 1.5가 되고 람다 값으로 발생률에 따른 푸아송 분포를 알수 ..

반응형