전체 글84 yfinance를 이용한 주식차트 웹사이트 개발 https://www.youtube.com/watch?v=e_OPmGjkAVs https://scribblinganything.tistory.com/377 [Python] yfinance 함수 사용법 정리 (코스피,테슬라) 목차 [Python] yfinance 함수: 차트 정보 가져오기 파이썬 yfinance 함수를 사용해서 야후 파이낸스(Yahoo Finance)의 차트(Chart)의 주가 정보를 가져오겠습니다. (시작가, 종가, etc). yfinance 는 판다스(Pandas)의 scribblinganything.tistory.com Web Development/streamlit 2023. 9. 7. 클래스의 개념에 대해 1.클래스에 대한 이해 다른 언어와 돌일하게 python에서도 클래스를 이용하여 보다 편리하게 함수를 다룰 수 있다. 참고로 클래스는 데이터나 처리의 정의 등을 하나로 정리해둔 모형과 같은 것이다. 클래스를 사용 안하고 함수를 작성한다면 보통 다음과 같이 작성한다. def something(something): print(something) 또는 lambda 함수를 이용해서 함수명을 선언하지 않은채로 일회성으로 함수를 작성하는 것도 가능하다. print_string = lambda s: print(s) print_string("fucking python") 그러나 클래스를 이용한다면 기본적으로 다음과 같이 작성하게 된다. class SomeClass: def __init__(self, something).. Grammer 2023. 6. 3. UnboundLocalError: local variable 'result1' referenced before assignment 해결 result1 = 0 result2 = 0 def add1(num): #global result1 result1 += num return result1 def add2(num): #global result2 result2 += num return result2 print(add1(3)) print(add1(4)) print(add2(3)) print(add2(7)) 위 코드를 실행하면 아래와 같은 오류가 뜨게 된다. 이는 대표적으로 외부에서 선언된 변수를 함수속에서 호출하고자 할때 발생하는 전형적인 실수이다. 결론부터 말하져면, 에러가 터지는 변수들에 대해서 함수 안에서 'global' 선언을 해줄 필요가 있다. result1 = 0 result2 = 0 def add1(num): global resul.. TroubleShooting 2023. 6. 3. 직렬 RLC회로에서 R값이 0으로 설정되었을때의 과제동응답의 전류/전압 그래프를 나타내보자! import numpy as np import matplotlib.pyplot as plt #회로 파라미터 R = 0 #저항값 C = 1e-6 #커패시턴스 값(F) L = 0.1 #인덕턴스 값(H) #시뮬레이션 파라미터 dt = 1e-6 #시간 간격(s) duration = 0.01 #시뮬레이션 기간 (s) #시간 범위 생성 t = np.arange(0, duration, dt) #입력 신호 생성 (에시로 단위 step 입력 사용) input_signal = np.ones_like(t) input_signal[t < duration/2] = 0 #초기 조건 설정 i_L = 0 #인덕턴스 전류 초기값 v_C = 0 #커패시턴스 전압 초기값 #시뮬레이션 결과 저장할 리스트 current = [] voltag.. matplolib/함수그래프 2023. 5. 30. x,y축 라벨에 대한 기타설정하기 y=2x꼴의 그래프를 그려본다고 하자. 이때 기본적으로 적을 수 있는 코드는 아래와 같을 것이다. import matplotlib.pyplot as plt # 샘플 데이터 생성 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] # 그래프 그리기 plt.plot(x, y) # x축 라벨 설정 plt.xlabel('X-axis Label') # y축 라벨 설정 plt.ylabel('Y-axis Label') # 그래프 표시 plt.show() 하지만 여기서 한가지 불편한?점이 있다. 바로 y-라벨이 90도 회전되어 나온다는 것이다. (기본적으로 이렇게 되어 있으니, 살짝 불편하지만. 화면상의 공간효율을 위해 이걸 기본설정으로 해두었다고 생각하면, 그래도 수긍할만 하다) 이제 이 불편한.. matplolib/기본&입문 2023. 5. 27. DTFT예시코드 분석(2) 주파수 변화에 따른 선도(plot) 변화 [사전지식] DTFT는 주어진 이산시간 신호를 주파수 영역에서 연속적인 스펙트럼으로 변환한다. 변환된 주파수 영역에서는 신호의 주파수 성분이 표현되며, 이를 통해 신호의 주파수 특성과 주파수 성분의 세기 및 위상 정보를 추출할 수 있다. Def.) X(e^jw) = Sigma(from n=-infinity to n=+infinity) [ x[n] * e^(-jwn) ] X(e^jw): DTFT의 결과인 주파수 도메인 복소 스펙트럼 x[n]: 이산 시간 신호를 나타내는 시퀀스 e^(-jwn): 각각의 주파수 성분을 표현하는 복소지수함수 -변환은 변수 w에 대해 연속적으로 수행되며, 일반적으로 [-np.pi, +np.pi] 또는 [0, 2*np.pi] 범위에서 주파수를 표현한다. [실험내용] -numpy와 .. matplolib/신호및시스템 2023. 5. 27. DTFT예시코드 분석(1) 샘플링주파수 변화에 따른 선도(plot) 변화 [실험내용] -'np.arange'를 사용하여 0부터 1까지의 시간 벡터를 생성하고, 주파수가 10Hz인 사인파를 생성한다. -'np.fft.fft'를 사용하여 신호의 DTFT를 계산하고, 'np.fft.fftfreq'를 사용하여 주파수 축을 생성한다. -신호의 주파수는 10으로 고정하고, 샘플링주파수를 10으로 두어, 샘플간격을 0.1로 맞춘다. -'plt.plot'를 사용하여 DTFT 스펙트럼을 선도(plot)한다. import numpy as np import matplotlib.pyplot as plt #폰트 꺠짐 방지 plt.rcParams['font.family'] = 'Malgun Gothic' #특수문자(-) 깨짐 방지 plt.rcParams['axes.unicode_minus'] = Fa.. matplolib/신호및시스템 2023. 5. 27. 웹문서상의 문법복습 학교에서 파이썬 조별과제 프로젝트때, streamlit이라는 라이브러리를 쓰기로 가닥이 잡혔다. 그래서 다시 오랜만에 streamlit라이브러리에서의 웹문서 문법을 한번 간략하게 짚고 넘어가려고 한다. 1.헤더 헤더는 앞에 #(샾)을 넣어서 구현할 수 있고 #한개에서 #여섯개까지로 총 6개의 헤더가 약속되어 있다. 2.순서가 없는 리스트 앞에 (-) 또는 (+)를 붙여서 구현가능하다. 신기한게 (*)을 붙이면 좀더 진하게 도트마크가 표시된다.ㄷㄷ 그리고 한개 더 신기한게, 줄바꿈 문자인 '\n'이 안먹힌다. (이에 대해서 좀더 해결책을 알아보았다. 아래글 참조) 3. 줄바꿈 구현하기 st.write()메소드 뿐만 아니라, st.text(), st.markdown()라는 메소드도 있다. 여기서 '\n'이 .. Web Development/streamlit 2023. 5. 23. tkinter라이브러리를 이용해서 ip에 대한 접근관리 대시보드 구축하기 import tkinter as tk from tkinter import messagebox allowed_ips = [] # 허용된 IP 주소 목록 def add_ip(): ip = entry.get() if ip.strip() != "": allowed_ips.append(ip) entry.delete(0, tk.END) messagebox.showinfo("알림", "IP 주소가 추가되었습니다.") def remove_ip(): ip = entry.get() if ip in allowed_ips: allowed_ips.remove(ip) entry.delete(0, tk.END) messagebox.showinfo("알림", "IP 주소가 제거되었습니다.") else: messagebox.showe.. Web Development/streamlit 2023. 5. 23. streamlit_demo버전 테스트웹앱 1.Animation Demo # Interactive Streamlit elements, like these sliders, return their value. # This gives you an extremely simple interaction model. iterations = st.sidebar.slider("Level of detail", 2, 20, 10, 1) separation = st.sidebar.slider("Separation", 0.7, 2.0, 0.7885) # Non-interactive elements return a placeholder to their location # in the app. Here we're storing progress_bar to update it.. Web Development/streamlit 2023. 5. 23. discord용 챗봇을 구축해보자!(3) 이번 시간에는 챗봇을 통해 간단한 명령어들을 입력하여 적절하게 동작시켜보도록 하겠습니다. 1.요청자를 언급하고 인사하기 2.명령어에 대해서 별칭지정하기 3.요청자로부터 입력받은 문자열을 그대로 반환하기 4.입력받은 문자열을 공백을 나눠서 반환하기 전체코드> import discord from discord.ext import commands bot = commands.Bot(command_prefix='$',intents=discord.Intents.all()) #명령어의 시작이 $이다. 예를 들어 -> $안녕 @bot.event async def on_ready(): print(f'{bot.user.name}이 연결 되었습니다.') await bot.change_presence(status=discor.. 업무자동화 2023. 5. 7. discord용 챗봇을 구축해보자!(2) 저번 시간에 챗봇을 생성하였지만, 아직 비화성화, 즉 오프라인 상태일 것입니다. 이번시간에는 챗봇을 온라인 상태로 활성화시키고, 요청을 날렸을때, 응답이 오도록 해보겠습니다. 1. Token(토큰)값 받아오기 개발자 포털 창에서 내가 생성한 봇을 클릭하여 해당 창으로 들어가줍니다. 그리고 아래 그림처럼 접속을 하게 되었다면, 'Reset Token'버튼을 누르고, 토큰을 발급받아줍니다. 아래 문자열은 discord에서 챗봇을 생성하여 'reset token' 버튼을 눌렀을때 단 한번만 보여지는 토큰으로, 미리 알아두고 저장해두세요! MTEwNDY3NTU5ODY2OTk3OTY2OA.G3Cf1w.WoCUbpi1Vp8A_fAs8eabYH_um11dQ-3n1YdsHI 2. module 다운로드 받기 아나콘다 프.. 업무자동화 2023. 5. 7. 이전 1 2 3 4 5 6 7 다음