반응형

파이선 135

[Python] 로그 그래프 그리기, numpy log1p, log, log10 함수 비교

목차 파이썬 numpy log1p vs log vs log10 함수 차이 사실 이부분은 코드와 결과를 수식으로 보여주면 정말 쉽게 이해가 됩니다. 하나씩 예제 코드와 함께 수식으로 정리하겠습니다. 전체 코드는 글 하단에서 다운 받을 수 있습니다. 예제 코드1>> import numpy as np x = np.exp(3) y= np.log(x) print(y) 결과>> 3.0 주석>> 위 수식은 x에 e 지수 값을 넣고 y는 ln으로 출력을 받습니다. 그래서 e^3이므로 y는 3이 출력 됩니다. 예제 코드2>> import numpy as np x = np.exp(3) y= np.log1p(x) print(y) 결과>> 3.048587351573742 주석>> log1p 함수는 입력값에 1을 추가로 더한 ..

[Python] Numpy where 함수란? 예제 실습

목차 파이썬 Numpy where 함수란? 파이썬 numpy.where() 함수는 조건에 맞는 입력 어레이(array) 값의 인덱스(index) 값을 알려줍니다. Syntax는 아래와 같습니다. numpy.where(condition[, x, y]) 조건문이 만족(True)할 경우 x값을 False 일 경우 y를 출력 해줍니다. 조건만 있을 경우 조건의 입력 값에 index를 출력 해줍니다. 파이썬 Numpy where 예제 실습#1 예제 코드>> import numpy as np a_var = np.array([[1, 2, 3], [4, 5, 6]]) print("raw_data") print(a_var) print ("5와 같거나 작은 index 값") indices = np.where(a_var> ..

[라즈베리파이]웹 제어로 LED켜고 끄기(web server, remote control, flask)

목차 Raspberry Pi 웹서버에서 LED 제어하기 이번에는 보드의 GPIO23번 핀에 LED를 연결하고 flask를 사용해서 웹서버를 구동합니다. 외부에 노트북을 사용해서 해당 웹서버(Web server)에 접속하고 브라우저에 나온 버튼을 클릭하여 LED를 켜고 끄는 시험을 해보겠습니다. 하드웨어 연결은 아래와 같이 합니다. 원래 GPIO23번 핀과 GND 사이에 1kohm 저항(Resistor)을 둬서 LED를 보호해야 하나 귀찮아서 다이렉트로 연결했습니다. LED를 오래 쓰실려면 꼭 저항을 직렬로 연결해주세요 전체 코드>> #!/usr/bin/python3 from flask import Flask, render_template_string import RPi.GPIO as GPIO GPIO.s..

[라즈베리파이] Polling과 Interrupt로 입력 신호 받기(폴링, 인터럽트)

Raspbeery Pi Polling으로 입력 신호 받기 폴링(Polling) 방식은 지속적으로 해당 입력 신호쪽에 값을 기다리면서 값이 들어올때 값을 처리하는 방식입니다. 그렇기 때문에 비효율적인 방식입니다. 아래는 폴링(Polling) 방식의 특징입니다. 폴링을 시행하면 보드의 다른 코드를 진행할 수 없음 지속적으로 모니터링하여서 전력을 상대적으로 많이 사용 실제 폴링으로 동작하는 예제 코드를 통해 쉽게 이해해 보도록 하겠습니다. 해당 코드는 라즈베리파이 보드에서 나가는 5V신호와 접지(Ground) 신호를 저항 10kohm으로 GPIO23번 핀에 연결했다가 떨어뜨렸다가 하는 식으로 마치 버튼을 동작하는 것처럼 조작해서 이를 카운트하는 코드 입니다. 카운트 값은 print로 보드에서 확인할 수 있습니..

[Python] Pyside 메뉴바 만들기(Menu bar)

목차 파이썬 Pyside 메뉴바 만들기(Menu bar) GUI 프로그램을 보면 파일 저장, 불러오기 등 이러한 기능을 위쪽 상단에 메뉴 선택으로 만들어져 있음을 볼 수 있습니다. 이번 포스트는 Menu drop을 어떻게 만드는지를 알아보겠습니다. 우선 전체 코드로 결과와 함께 보여 드리고 주석으로 설명 드리겠습니다. 전체 코드>> from PySide6.QtWidgets import QMainWindow, QApplication, QLabel, QToolBar, QStatusBar, QCheckBox from PySide6.QtGui import QAction, QIcon, QKeySequence from PySide6.QtCore import Qt, QSize import sys class Qt_Ex..

[Python] Pyside 레이아웃 설정, 수직, 수평, 겹치기, 그리드(Layout, Vertical, Horizontal, Stack, Grid)

목차 Pyside는 최신 Pyside6를 사용했음을 알려드립니다. 파이썬 Pyside 레이아웃 설정: 수직(Vertical) 이번 포스트에서는 레이아웃(Layout) 설정에 대해 알아보겠습니다. 수직 레이아웃은 QVBoxLayout 객체를 사용해서 설정합니다. 아래 전체 예제 코드와 결과를 확인하고 코드에 대한 설명을 드리도록 하겠습니다. 수직 배치 예제 코드>> import sys from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout from PySide6.QtGui import QPalette, QColor from PySide6.QtCore import QSize class Set_color(QWidget): de..

[Python] PySide 라벨 위치, 폰트, 글자 크기(Pont, Size, Type)

목차 파이썬 PySide 라벨 위치, 폰트, 글자 크기 이번 포스트에서는 파이썬의 PySide에서 라벨을 생성하고 라벨의 위치를 조정하는 방법과 폰트를 설정하는 방법과 폰트 사이지를 변경하는 방법에 대해 알아보겠습니다. 간단한 예제로 확인해보겠습니다. 아래 예제는 라벨에 텍스트를 입력하고 텍스트를 왼쪽 상단에 배치하고 폰트는 이탈리안으로 설정하고 크기는 11로 설정하였습니다. 예제 코드>> from PySide6.QtWidgets import QMainWindow, QApplication,QLabel from PySide6.QtCore import Qt, QSize import sys class Qt_Ex(QMainWindow): def __init__(self): super().__init__() se..

[Python] PySide 라벨 키보드 이벤트 (Lable, Keyboard, Event)

목차 파이썬 PySide 라벨 키보드 이벤트 (Lable, Keyboard, Event) 앞서 포스트에서 마우스(Mouse) 클릭 별 이벤트 발생 시 특정 함수나 기능을 실행시키는 방법에 대해 알아보았습니다. 이번 포스트에서는 라벨(Label)에 텍스트 입력(Text Input) 창을 만들고 텍스트에 입력창에 텍스트를 입력 시 해당 입력을 즉각적으로 표기하는 방법에 대해 알아보겠습니다. 예제를 통해 쉽게 알아보겠습니다. 예제 코드>> from PySide6.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QVBoxLayout, QWidget from PySide6.QtCore import QSize import sys class Qt_Ex(..

[Python] PySide 마우스 이벤트 동작(Mouse event)

목차 파이썬 PySide 마우스 클릭 이벤트 앞서 포스트의 내용처럼 마우스(Mouse) 설정을 class 내에서 진행하도록 하겠습니다. 마우스 관련 내용 이 외에 이해가 안되신다면 PySide 카테고리의 다른 글들을 보시면 쉽게 이해할 수 있습니다. 마우스 이벤트(Mouse event)는 QPushButton 함수에서 관리합니다. 우선 간단하게 아래에 마우스 클릭 시에 Hello 메세지를 전달하는 코드를 작성해보겠습니다. 마우스가 클릭하는 경우 인터럽트(Interrupt)가 발생해서 PySide GUI가 반응합니다. 예제 코드>> from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton from PySide6.QtCore import QS..

[Python] PySide 기본 동작 방식, QMainWindow 설정

목차 파이썬 PySide6 기본 동작 방식 PySide는 데스크탑용 Application GUI를 파이썬으로 만들어 주는 라이브러리입니다. 이번 포스트에서는 간단한 윈도우창(Windows)을 만들어 보고 PySide가 동작하는 방법에 대해 알아보겠습니다. PySide는 현재 6버전까지 나온 상태로 최신 버전을 사용해서 설계해 보겠습니다. 코드 실행 이전에 아래와 같이 PySide6를 설치 해줍니다. pip install pyside6 이제 아래 기본 코드를 실행하고 코드의 동작 방법에 대해 알아보겠습니다. PySide 기본 코드>> from PySide6.QtWidgets import QApplication, QWidget import sys app = QApplication(sys.argv) windo..

카테고리 없음 2022.11.24
반응형