본문 바로가기

분류 전체보기24

파이참에서 디버깅에서 한글 깨짐 해결 문제 발생 csv 파일 읽고 쓰기에서 한글 깨짐이 발생하지 않는다. 파이참에서 디버깅 할 때 csv 파일에서 읽어온 한글값은 제대로 화면에 표시되지만, 한글을 변수에 할당한 후 변수 프린트하면 한글이 깨진다. df = pd.read_csv(AFile) name = df['name'][0] print(name) # 한글 출력 정상 name = '공구우먼' print(name) # 한글 출력 깨짐 기존 셋팅 문제해결 메뉴: 'Help', 'Edit Custom VM Options...' 을 클릭하고, 파일이 열리면, '-Dfile.encoding=UTF-8'을 추가하고, 파이참을 닫았다가 다시 실행하면 됨. 2023. 3. 23.
한글 romanization 개발한 이유 https://spaces.w3schools.com/ 에 파일을 업로드할 때 파일 이름이 한글로 되어 있으면 업로드 되지 않는다. 그래서 한글 파일이름을 알파벳으로 변환해야 겠다고 생각했다. 국립국어원 로마자 표기법 ( https://kornorms.korean.go.kr/m/m_regltn.do?regltn_code=0004#a ) 에서 표기 방법이 음에 따라 동일한 한글자모가 다른 알파벳으로 표현되도록 되어 있다. 이러한 방식의 가장 큰 문제점은 한글 로마자 변환하기가 어렵고 또한 로마자로 변환한 것을 한글로 변환할 경우 원래 한글과 다르게 될 수 있다. 위 표기법에 따른 파이썬을 이용한 변환 프로그램을 발견하였다. 참고하면 좋을 것 같다. https://github.com/YiHoze/.. 2022. 10. 3.
다양한 날짜 포멧 문자열을 날짜 datetime 포멧으로 변환하기 일반적인 포멧인 경우 dateutil 을 사용하면 된다. import dateutil.parser from datetime import datetime # timeStr0 = [ 'Tue, 07 Aug 2009 21:17:00 +0800', '2009/08/07 22:12:21', '07/08/2009 22:12:21', '2009-8-7 22:12' ] for t in timeStr0: # 변환 d = dateutil.parser.parse(t) print(type(d)) print(d) dStr = d.strftime('%Y-%m-%d %H:%M:%S') print(dStr) 한글 표현 날짜의 경우 import dateutil.parser from datetime import datetime time.. 2022. 5. 20.
파이썬에서 일정 간격 이내 지점 삭제하기 문제 배열 'arr' (numpy.ndarray) 에서 근접한 값의 간격이 5 보다 작은 경우를 삭제하려고 한다. 파이썬 코드 1 import numpy as np arr = np.array([ 1, 8, 9, 10, 12, 24, 26, 35, 39, 43, 49, 59, 60, 69, 77, 80, 86, 90, 101, 112, 118, 119, 126, 133, 145, 146, 161, 172, 177, 181, 191, 193, 200, 206, 207, 210, 211, 212, 215, 219, 225, 232, 234, 239, 244, 250]) idxD = np.where(np.diff(arr) < 5)[0] arrRevised = np.delete(arr, idxD) 결과 arr a.. 2022. 1. 20.
가격 활동 Price Action 가격 활동 price action 은 시간에 따른 가격의 움직임 이다 - 차트에서 가격의 움직임이라고 보면 되겠네. 기술적 분석 technical analysis 는 가격 활동의 분석이라고 볼 수 있다 - 과거의 가격 활동을 분석해서 매매를 결정한다. 2022. 1. 10.
다바스 박스 Darvars Box 니콜라스 다바스 Nicolas Darvas 가 개발한 주식 매매전략이다. 사용한 주요 지표는 고가 highs 와 거래량 volume 이다. 다바스 매매방법 - 최근 고가들과 저가들을 기준으로 사각형을 그리고, 신고가 new high 에서 매수, 신저가 new low 에서 stop-loss 매도. 다바스 박스는 거래량이 증가하는 주식에 사용한다. 다바스 박스는 황소 시황 bullish market (stocks) 에서 적합하다. 다바스 박스는 들어갈 enter-buy 때와 나갈 exit-sell 떄를 결정하는 모멘턴 전략 momentum strategy 이다. 다바스는 자신의 방법은 다음의 경우에 잘 동작한다고 생각했다: 투자자/소비자가 환호-관심이 폭증-하는 혁명적인 상품 주식 강한 어닝 earning .. 2022. 1. 10.
그림 창은 열리는데 그림이 안보인다 디버그 모드에서 interactive on 으로 해준다 파이참 PyCharm 에서 'Run' 모드와 'Debug' 모드에서 matplotlib.pyplot의 plot를 하면 그림이 잘 나왔다. 그런데 파이참 업그레이드 하고 나서 plot 하면 'Run' 모드에서 그림이 잘 나오는데 'Debug' 모드에서 그림이 안나온다. The figure freezes already when I try to create the plot. Figure window appears, is unresponsive and no plot is shown. 그래서 'Debug' 모드에서, 그림 그리는 스크립트 실행하고, import matplotlib.pyplot as plt # ... # plt.plot(...) # ... pl.. 2022. 1. 6.
엑셀파일 읽기 방법 방법 1. 엑셀 파일 - Libre Office - CSV utf-8 - 파이썬 - csv 읽기 1. Libre Office 에서 엑셀파일 .xlsx 를 열고 2. 다른 이름으로 저장 3. 파일형식 (1) 텍스트 CSV (*.csv) 선택, 저장 클릭 (2) 텍스트 CSV 형식 사용(U) 클릭 (3) 문자 집합: 유니코드(UTF-8) 선택, 확인 클릭 (4) 확인 클릭 3. 파이썬에서 csv 파일 읽기 import pandas as pd csvFile = 'usj2118.csv' df = pd.read_csv(csvFile, encoding='utf-8', skiprows=[0, 1, 2], header=None) # skiprows=[0, 1, 2], 파일의 0, 1, 2 번째 행을 읽어들이지 않음. .. 2021. 12. 31.
파이썬 리스트 곱하기 대 넘파이 배열 곱하기 리스트 곱하기 리스트 여러개가 된다. lst = [1, 2, 3] lst3 = lst * 3 print(lst3) # result: # [1, 2, 3, 1, 2, 3, 1, 2, 3] 넘파이 배열 곱하기 배열 요소의 곱 배열이 된다. import numpy as np arr = np.array([1, 2, 3]) arr3 = arr * 3 print(arr3) # result: # [3 6 9] 2021. 12. 26.
파이썬에서 'doughnut' 10개 찍는 방법 상식적 방법: for ii in range(10): print('doughnut') 파이썬스런 방법: print('doughnut\n' * 10) 2021. 12. 25.
3개 LED를 독립적으로 켜고 끄기 3개 LED를 독립적으로 켜고 끄기 - 아두이노 예제 BlinkWithoutDelay 으로부터 변형 포인터 & 를 사용하여 LED 가 켜져있는 시간 체크 함수 만들기 - 스케치 함수 인자 처리 결과 값 전달 (tistory.com) 이용하여 변수 값 전달함. // constants won't change. Used here to set a pin number: const int OUT1 = 2; // the number of the LED pin const int OUT2 = 6; const int OUT3 = 9; // Variables will change: int OUT1_state = HIGH; // OUT1_state used to set the LED int OUT2_state = HIGH; .. 2021. 11. 5.
스케치 함수 인자 처리 결과 값 전달 & 앰퍼샌드 ampersand 연산자 & - x 가 변수 이면 &x 는 x 의 주소를 가리키는 포인터 pointer 이다. * 포인터 선언 또는 포인터가 가리키는 변수의 값. [ ] // 배열 선언 int anArray []; 예제 int *p; // int 자료형에 대한 포인터 선언 int i = 5; // int 변수에 5 를 할당 int result = 0; void setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println("Test begin"); p = &i; // 'p' 'i' 의 주소를 가짐. 즉, p 는 i 의 주소를 가리키는 포인터 result = *p; // *p 는 주소의 값을 가짐. 즉.. 2021. 11. 4.
스텝모터 돌아가게 하기 - 주입펌프 만들기 준비물 구석구석에 두었던 부품들 모았다. Kit = Makeblock XY-plotter kit 스텝모터 - Kit.42BYG Stepper Motor 스텝모터드라이버 - Kit.Me Stepper Driver V1.0 (include Polulu A4988 motor driver) 더보기 https://www.makerguides.com/a4988-stepper-motor-driver-arduino-tutorial/ How to control a stepper motor with A4988 driver and Arduino How to control a stepper motor with A4988 driver and Arduino 잘 설명된 사이트. Set microstep resolution MS1 .. 2021. 11. 1.
아두이노로 릴레이 동작시키기 목표 아두이노로 릴레이 동작시키기 릴레이에 연결된 장치 (LED 또는 전구, 부저) 동작시키기 준비 아두이노 우노 arduino UNO - UNO 5V 4통로 릴레이 모듈 5V 4-channel relay module (4 x SRD-05VDC-SL-C + 소자) - Relay LED (나중에 고 전압이 필요한 전구로 대체) 부저 - Buzzer 저항 resistor - R 연결배선 connection wire 빵판 breadboard 6V 전원(4 x 1.5V 전지) - Battery 배선 평소와 같이 아두이노 우노 보드를 컴퓨터와 연결 * 4 릴레이 모듈 * UNO.5V - Relay.Vcc * UNO.GND - Relay.GND * UNO.8 - Relay.IN1 * UNO.9 - Relay.IN2.. 2021. 10. 28.
AfN.2.5. 디지털 출력 - 더 높은 전압이 필요한 장치 조절하려고 할 때 문제 아두이노 보드의 디지털 출력은 0/+5V 이다. 더 큰 전압이 필요한 경우가 있을 때. 해결 릴레이 relay 트랜지스터 transistor H-bridge 릴레이 전기-기계식 스위치 트랜지스터와 비교하여 기계식 스위치 동작 소리가 나고 반응 속도가 느리다. 코일에서 발생하는 유도 전류를 차단하기 위한 정류 다이오드가 필요. 전류 한도가 높다 - 10A 까지도 가능함. 트랜지스터 전압-개폐 스위치 빠른 반응과 스위치 동작 소리가 없다. 음 전압을 쓸 수 없다. NPN 대 PNP 50mA 아두이노 디지털 전류로는 큰 전류 부하를 켜고 끌 수 없다. H-bridge 트랜지스터 어래이로 더 큰 전압 공급할 때 사용함. 여러가지 장치를 조절할 때 사용된다. 전류 한도는 ~1A/channel 이다. 2021. 10. 28.
AfN.2.3.아두이노 보드간 시리얼 통신 시리얼 통신 'Serial.begin();' in void setup() RX = receive, TX = transmit 버퍼가 있다 buffered 전송 속도가 느림: 대략 1 ms/character 짧은 내용을 보낼 때 사용함 .연결 아두이노 보드와 컴퓨터 간의 USB 케이블을 통해서 0, 1 비트로 통신함 아두이노 보드들 간 연결 일부 센서와 인터페이스 - 예, RFID (radio-frequency identification, 무선 주파수 식별) .두 개의 아두이노 보드 간 소프트웨어 시리얼 통신 아두이노 우노 A (UNO_A), 아두이노 우노 B (UNO_B) 를 준비했다. 배선 연결: UNO_A.8(RX) - UNO_B.9(TX) UNO_A.9(TX) - UNO_B.8(RX) UNS_A.GN.. 2021. 10. 28.
아두이노 'pinMode(switchPin, INPUT_PULLUP);' 아두이노에 스위치를 연결하고 모드를 정해 줄 때 'INPUT_PULLUP' 모드가 있어서 찾아 봤다. pinMode(, ); : INPUT, OUTPUT, INPUT_PULLUP 이중 INPUT_PULLUP은 아두이노 보드에 있는 풀업 pull-up 저항을 사용하는 모드이다. 누름단추를 누르면 V = 0, 놓으면 V = 5V 가 된다 (스위치 ON 하면 0V, 스위치 OFF 하면 5V). 풀업모드를 쓰지 않고 'INPUT' 모드를 사용할 때 스위치를 ON 하면 0V가 걸리고, OFF 하면 전압이 떠 다닌다 floating - 불안정하다. 2021. 10. 19.
AfN.1.2.들어가기.프로그래밍 아두이노 IDE에서 프로그램 작성하기 // 아두이노 IDE 예제 "Blink" // 목표: 13번 핀에 LED를 연결하고, 1초 동안 켜고 1초 동안 끄고 깜박이게 한다. // 변수 초기화 int ledPin = 13; // 설정 - 셋업 'setup()' // 디지탈핀 상태 설정 // 하드웨어 설정 또는 1회 실행 void setup() { // ledPin 을 출력 OUTPUT으로 설정 pinMode(ledPin, OUTPUT); } // 반복실행 - 루프 'loop()' void loop() { digitalWrite(ledPin, HIGH); // ledPin을 HIGH - 전압 수준을 높게 - 설정 delay(1000); // 1000 msec 기다림 digitalWrite(ledPin, LOW.. 2021. 10. 19.
AfN1.1.들어가기.세부사항 교재: claylacefield adding ppt and ps1 왜 아두이노? 장점 Pros 입출력이 빠르고 확실하다 프로그램이 쉽고 연결(USB)이 쉽다 아날로그/디지탈 회로와 연결이 쉽다 사용자 풀이 넓다 싸다 단점 Cons 한 번에 한가지만 수행한다 - single-threaded 대역폭이 제한적이다 진정한 아날로그 출력이 없다 +5V/G 뿐이다 아두이노 우노 입출력 13 DIO 6 AD (8bit) 1 hard serial 아두이노 우노 보드 디지털 입력 및 출력 digitalRead(readPin); digitalWrite(outPin, HIGH/LOW); TTL: 0/+5V Buttons: INPUT_PULLUP Digital communication protocols Using Arduin.. 2021. 10. 19.
AfN1.들어가기 교재: claylacefield New PS1 PDF from Frankie 과제: 유라는 빛을 주고 설탕물(20%)을 주는 연관 학습 associative learning 을 시키는 파블로프 조건화 Pavlovian conditioning 를 마우스에게 시킨다. .마우스 상자에 다음 설치 1.적외선차단 센서 - 음식 구멍에 마우스가 주둥이를 넣는 것 감지 2.빛 발생장치 - 자극 제공 3.컨트롤러 - 아두이노 .훈련 소프트웨어 작성 1.컨트롤러 운용 프로그램 2.학습 기록 - 마우스가 음식 구멍에 몇 번 들어갔는지 기록 .적외선 차단 감지, 역치 전압 이상될 때 아두이노 IDE 시리얼 모니터에 출력: 시간과 행동 "주둥이 들어왔다." 출력 .출력은 'Serial.print()', 'Serial.prin.. 2021. 10. 19.
AfN0.Arduino for Neuroscience 공부 기록 교재: https://github.com/claylacefield/AfN.git GitHub - claylacefield/AfN: Arduino for Neuroscientists Arduino for Neuroscientists. Contribute to claylacefield/AfN development by creating an account on GitHub. github.com 제목 소제목 설명 완료체크 1. 소개, 입력/출력 오픈소스 하드웨어 소프트웨어 왜 아두이노? 아두이노 블링킹 입력과 출력 적외선 차단 검출기 오픈미로실드 2. 고급 입력/출력, 통신 프로토콜 센서 입력 통신 프로토콜: 시리얼, I2C, SPI 아날로그 출력: PWM, tone() 디지탈 출력 릴레이 relay 트랜지스터.. 2021. 10. 19.
ECG.UNO.3. 전압신호의 발생 횟수 측정 - ECG를 측정하여 맥박수로 변환 준비물 기본준비물 ECG-UNO.1. 아두이노 우노 - 아두이노 통합 개발 환경 Arduino UNO - Arduino Desktop IDE 목표 아두이노로 심전도를 측정 기록하고 심박수를 계산해서 심박수가 일정 수 이상 증가하거나 감소할 때 일정 주파수의 음(소리)를 발생시키려고 한다. 공부 아두이노 공식 사이트 https://ardui artnam.tistory.com 빵판 breadboard 신호발생기 function generator 점퍼선 jumper wire LED 저항 resistor 참고자료: PulseSensorPlayground (여기서부터 '피에스피'라 함) 절차 피에스피 https://github.com/WorldFamousElectronics/PulseSensorPlayground.. 2021. 10. 12.
ECG.UNO.2. 아두이노로 전압측정하기 준비물 컴퓨터 PC USB cable 아두이노 보드 Arduino UNO 아두이노 통합개발환경 Arduino IDE 신호발생기 a function generator 연결선 또는 점퍼선 connecting wire or jumper wire 절차 컴퓨터 - USB cable - 아두이노 보드 연결 전압 발생(예, 심전도 ECG)의 출력 신호 SIG(빨간선)를 아두이노 우노 보드의 아날로그 인 A0에 연결하고, 접지 GND(파란선)를 우노 보드의 접지 GND에 연결한다. 아두이노 IDE 실행시키고 예제 프로그램 'AnalogReadSerial'를 연다. 컴파일 업로드 한다. 아두이노 IDE에서 '툴', '시리얼 플로터'를 클릭하여 시리얼 플로터 serial plotter 을 연다. 결과물 1 Hz 사인파 s.. 2021. 10. 11.
ECG-UNO.1. 아두이노 우노 - 아두이노 통합 개발 환경 Arduino UNO - Arduino Desktop IDE 목표 아두이노로 심전도를 측정 기록하고 심박수를 계산해서 심박수가 일정 수 이상 증가하거나 감소할 때 일정 주파수의 음(소리)를 발생시키려고 한다. 준비물 - 아두이노 응용 제작의 기본준비물 컴퓨터 PC 아두이노 우노 보드 Arduino UNO 연결 케이블 A B USB cable 아두이노 통합개발환경 Arduino IDE 공부 아두이노 공식 사이트 https://arduino.cc Arduino - Home www.arduino.cc 아두이노 ? 하드웨어 + 소프트웨어 가능한 기능: 외부 신호 입력, 신호 출력해서 다른 장치 조절하기. 입력: 센서 빛, 스위치, 트위터 메시지도 된데. 다른 장치: LED, 모터, 부저 buzzer, 온라인에 출판도 된데. 위 일이 그냥 보드만 있다고 되는게 아니고 동작.. 2021. 10. 7.
반응형