일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 국내주식
- 홈네트워크
- 월패드
- 해외주식
- ConnectedHomeIP
- 취미생활
- 힐스테이트 광교산
- 퀄컴
- MQTT
- Bestin
- 애플
- 엔비디아
- 매터
- 현대통신
- matter
- 파이썬
- RS-485
- Home Assistant
- 코스피
- esp32
- 미국주식
- Espressif
- 오블완
- Apple
- 티스토리챌린지
- raspberry pi
- Python
- homebridge
- 나스닥
- 배당
- Today
- Total
목록Software (74)
YOGYUI

pandas - numbering duplicated elements pandas 데이터프레임(DataFrame) 객체의 특정 열(column)의 값들이 중복될 경우, 중복된 행(row)에 고유번호를 순차적으로 매겨보자 (간단한 개념인데 한국말로 정리하는게 더 어렵다) 1. 데이터 준비하기 간단하게 가상의 구매 목록을 하나 만들어주자 from datetime import date import pandas as pd df = pd.DataFrame([ {'구매일': date(2021,12,1), '품목': '계란', '수량': 1, '가격': 3000}, {'구매일': date(2021,12,1), '품목': '라면', '수량': 1, '가격': 1000}, {'구매일': date(2021,12,1), '..

Get path of the batch script file %~dp0 구문을 활용하면 된다 예를 위해 C:\Test\Test1.bat 파일을 생성한 뒤 다음과 같이 스크립트 작성 @echo off set CUR_PATH=%~dp0 echo %CUR_PATH% 커맨드 라인 툴에서 실행해보자 c:\Test>test1.bat c:\Test\ c:\>c:\Test\test1.bat c:\Test\ 배치 파일(test1.bat)이 존재하는 경로임을 알 수 있다 출처: https://stackoverflow.com/questions/3827567/how-to-get-the-path-of-the-batch-script-in-windows

티스토리 유입 경로를 보면 간혹 다음과 같이 링크로 유입된 경우를 확인하게 된다 위 예시의 URL은 다음과 같다 https://yogyui.tistory.com/notify-Notice_Blog_New?aHR0cHM6Ly95b2d5dWkudGlzdG9yeS5jb20vZW50cnkvJUVBJUI0JTkxJUVBJUI1JTkwJUVDJTk1JTg0JUVDJTlEJUI0JUVEJThDJThDJUVEJTgxJUFDLSVFQyU5NyU5OCVFQiVBNiVBQyVFQiVCMiVBMCVFQyU5RCVCNCVFRCU4NCVCMC0lRUQlOTklODglRUQlODIlQjctJUVDJTk3JUIwJUVCJThGJTk5LTEtMg==;n4NRnC9NaQ4RKh+vRtSjrCgg81uCPHnovGhC9+SAIC8= 정작 ..

CRC8, CRC16, CRC32 Calculation Algorithms Source Code in C/C++ (GitHub) 얼마전 회사 업무로 CRC16-ARC 계산 알고리즘을 직접 구현했었는데, 하다보니 욕심이 나서 CRC8, CRC32까지 구현해서 깃허브에 저장소를 마련하고 커밋했다 https://github.com/YOGYUI/CRC GitHub - YOGYUI/CRC: CRC Calculation library (CPP) CRC Calculation library (CPP). Contribute to YOGYUI/CRC development by creating an account on GitHub. github.com 코드 몇백줄 작성하는 것보다 별 내용도 없는 마크다운 몇십줄 작성하는게 ..

CRC-16 Calculation Algorithm Source Code in C/C++ low-level network 인터페이스를 구현하는 회사 업무 중 송/수신 패킷의 CRC 계산 및 검증을 임베디드 HW단에서 구현해야 하는 이슈가 있어서 직접 C++로 구현해봤다 (회사에서 자체 제작한 보드들간에 통신하는 방식이라 오류 검증은 심플하게 CRC 사용하기로 결정) 본 포스트에서는 CRC-16에 대해서만 구현한 결과를 다루고 있으며, CRC-8이나 CRC-32 구현은 다른 글에서 다루도록 한다 (사실 코어 알고리즘은 크게 변동이 없어서 쓸만한 거리도 없겠지만...) CRC(cyclic redundancy check)에 대한 소개는 위키백과를 참고하도록 한다 순환 중복 검사(巡環重復檢査), CRC(cycl..

에 정의되어 있는 std::search 함수를 사용하면 쉽게 구현할 수 있다 template ForwardIterator1 search (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2); Search range for subsequence Searches the range [first1,last1) for the first occurrence of the sequence defined by [first2,last2), and returns an iterator to its first element, or last1 if no occurrences are found. The ele..

앞선 글(링크)에서 금융감독원 OpenDART의 '증권신고서 주요정보 - 지분증권' API로 신규상장기업의 증권신고서 원문 문서번호를 얻고자 했는데, 안타깝게도 쿼리되지 않는 기업이 굉장히 많았다 이번 포스트에서는 OpenDART의 '공시검색'으로 특정 기업이 공시한 증권신고서를 전부 리스트업한 뒤 그중에서 상장과 관련된 지분증권 문서의 문서번호를 가져오고, 문서의 HTML 원문을 로컬에 저장해보도록 하자 OpenDART 사용법 및 DART 원문 다운로드 방법은 아래 링크를 참고 금융감독원::OPENDART 전자공시 Open API 사용하기 금융감독원::DART 공시문서 js 렌더링된 HTML 가져오기 지난 2021년 7월 26일,27일 양일간 공모주 청약을 진행한 카카오뱅크를 예로 들어보자 import..

PyCharm에서 파이썬 코드를 실행 시 인메모리 디버깅을 위해 Python Console에서 코드를 구동할 수 있다 파이썬 스크립트의 Run/Debug Configuration - 'Run with Python Console' 옵션 선택 이 때, 별다른 설정을 하지 않았다면 스크립트를 다수 실행 시 여러개의 콘솔이 생성된다 작업 관리자에서도 다음과 같이 확인할 수 있다 이 때, 단일 콘솔에서만 스크립트를 구동하고 싶다면 메뉴 - File - Setting - Build, Execution, Deployment - Console - Use existing console for "Run with Python Console" 옵션을 선택해주면 된다 ※ 본 글은 PyCharm 2021.2.1 버전에서의 설정법..

pandas 데이터프레임(DataFrame) 객체의 열(column)의 데이터형을 가져오는 방법을 알아보자 (get data type of columns in dataframe) 예시를 위해 int, float, str, bool, datetime 데이터를 가진 데이터프레임을 만들어준다 from datetime import datetime import pandas as pd array = list() array.append({'A': 1, 'B': 1.0, 'C': '1', 'D': True, 'E': datetime(2021, 9, 1)}) array.append({'A': 2, 'B': 1.1, 'C': '2', 'D': False, 'E': datetime(2021, 9, 2)}) array.app..

4. DART 공시 관련 속성 추가 신규상장 관련 기업의 정보를 가장 정확하게 파악할 수 있는 것은 금융감독원의 전자공시시스템(DART : Data Analysis, Retrieval and Transfer System)이다 2020년 4월부터 Open API 형식으로 누구든지 DART 홈페이지에 접속하지 않고서도 쉽게 접근할 수 있게 OpenDART를 서비스하고 있으므로 이를 활용해서 전에 만들어둔 IPO2021 테이블에 DART 관련 속성(칼럼)을 추가해보도록 하자 ※ OpenDART는 회원 가입 후 API Key를 발급받아야 한다. OpenDART 활용법에 대한 개요는 링크 참고 4.1. 기업 DART 고유번호 테이블 추가 상장기업의 유가증권 시장에서의 증권코드(ex: 삼성전자 = 005930)와는..

Mac OS에서 PyQt5로 윈도우를 만들어서 메뉴바를 추가하면 default로 상단 작업표시줄에 메뉴바가 표시된다 (테스트 당시 OSX 버전은 11.5.2, PyQt5 버전은 5.15.4) [테스트 코드] if __name__ == '__main__': import sys from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import * app = QCoreApplication.instance() if app is None: app = QApplication(sys.argv) window = QMainWindow() menubar = QMenuBar(window) window.setMenuBar(menubar) menu1..

작년 SK바이오팜을 시작으로 미래에셋증권에서 진행하는 공모주 청약에 대부분 참여하고 있다 상반기에는 거의 대부분 익절할 수 있었는데 하반기 종목들은 시퍼렇게 질린채 회복하지를 못하고 있다 ㅠ 분석기사나 유튜브를 보면 청약경쟁률, 기관의무보유확약비율 등 몇몇 지표에 따라 희비가 엇갈렸다고 하는데, 다른 사람이 분석한 것만 쳐다보면 재미가 없으니깐 직접 DB를 구축하고 레코드를 입력해서 직접 분석(R이나 Python을 써서)을 해보려 한다 우선 DB부터 구축해보자 DBMS는 개인 NAS(ipTime 제품)에 탑재해 둔 MySQL을 활용하기로 했다 (요즘은 시놀로지 NAS에 설치해둔 몽고DB를 주로 사용하는지라 SQL은 진짜 오랜만이라 차근차근 정리할 겸 ㅎㅎ) 대부분 작업은 커맨드 라인 툴 (MariaDB ..

(Latex 연습용 포스트) 수치형 데이터 N개의 평균(average)을 구하는 공식은 다음과 같다 avgN=∑Ni=1aiN 이 때, 위 수식은 다음과 같이 분해할 수 있다 \(\begin{align*} avg_{N}&={a_{1}+a_{2}+a_{3}+ \cdots +a_{N-2}+a_{N-1}+a_{N} \over N} \\&= {a_{1}+a_{2}+\cdots +a_{N-2}+a_{N-1}\over N}+{a_{N} \over N} \\&= {a_{1}+a_{2}+\cdots +a_{N-2}+a_{N-1} \over N-1} \times {N -1 \over N} + {a_{N} \over N} \\&= avg_{N-1} \times {..

일전에 PyQt를 사용해서 내가 직접 만든 웹브라우저(링크)로 내 블로그를 방문하는 테스트를 진행했는데, 네이버 애널리틱스의 '사용자 웹브라우저' 분석에 'Chrome 83' 항목이 새로 생긴 것을 볼 수 있었다 QtWebEngine의 Chromium 버전은 다음과 같다고 한다 내 개발환경이 Qt 5.15.2니깐 Chromium 83이 코어로 사용되었다는 것을 알게 되었다 ㅎㅎ 일일이 Qt 버전을 확인하지 않고 브라우저 버전 정보를 가져올 수 있는 방법을 찾다가, 자바스크립트로 'navigator.userAgent'를 호출하면 된다는 것을 확인했다 https://www.w3schools.com/jsref/prop_nav_useragent.asp Navigator userAgent Property Navi..

4. 네비게이션 툴바 만들기 북마크바를 만들려고 하다보니, 탭 안의 위젯이 url 에디트 등의 컨트롤들을 각각 모두 가지고 있는 것이 불합리해보여서 별도로 네비게이션 툴바를 만들었다 (QToolBar 상속) [NavigationWidget.py] from PyQt5.QtCore import pyqtSignal, QSize from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QToolBar, QToolButton, QLineEdit class NavigationToolBar(QToolBar): _is_loading: bool = False sig_navigate_url = pyqtSignal(str) sig_go_backward = pyqtSignal()..