묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
배열리스트 문제 5번 <중복 제거> 질문입니다.
안녕하세요!~배열리스트 문제 5번 <중복 제거> 질문입니다.for i in range(1, len(nums)): 이후 조건문에서선생님께서 알려주신 직전항과의 값이 같은지 비교하는거 말고,if nums[i] not in answer:answer.appendleft(nums[i]) 이런식으로 코드를 작성하게 되면 시간 효율에서 문제가 생기게 될까요? 아무래도 nums 크기마다 한 번씩 answer 전체를 탐색해야해서 효율이 더 떨어질 것 같긴한데 궁금해서 질문드려봅니다! 감사합니다.
-
해결됨실전! FastAPI 입문
router testcode 문의
router test code 에서 test_main.py 파일에 api.todo라고 main을 바꾸어 줬는데 import를 따로 안 시켜줘도 되나요 ?main.py는 from api import todo로 import 시키는데 test_main.py는 안 그래도 되는지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 6회 작업형 1 질문
3. 연도별로 총 범죄 건수(범죄유형의 총합)의 월평균 값을 구한 후 그 값이 가장 큰 연도를 찾아, 해당 연도의 총 범죄 건수의 월평균 값을 출력하시오. (반올림하여 정수로 출력)문제에서 df['총범죄건수'] = df.iloc[:, 1:7].sum(axis=1)iloc 를 활용해서 열의 합을 구할 때는 sum 괄호 안에 axis=1 이라고 작성을 하는데 result = df.groupby('연도')['총범죄건수'].sum(axis=0)/12연도별로 그룹으로 묶어 행의 합을 구할 때는 sum 괄호 안에 axis=0 이라고 넣으면 오류가 나더라구요! iloc 를 활용해서 합을 구할 때는 sum 괄호 안에 axis 를 작성해도 되지만, groupby 를 활용해서 합을 구할 때는 sum 괄호 안에 axis 를 작성하면 안된다고 외워야 하는 건가요??
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
창이 두개떠요/쇼핑검색도 안되요 ㅜ
#검색하기 search = browser.find_element(By.CSS_SELECTOR, "input._searchInput_search_text_3CUDs") search.click() search.send_keys("아이폰14")
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 기출 질문
5회 기출 작업형 2에서3회 기출 작업형 2에서 강사님께서 풀이하신 방식으로train, test 데이터를 수치형, 범주형으로 나누고 수치형은 robustscaler, 범주형은 dummies를 활용한 후 concat으로 합치려고 했는데요!아래처럼 코딩을 했는데 사진처럼 오류가 발생합니다ㅠㅠ혹시 기출 3회 작업형 2는 회귀모형이 아니기 때문에,기출 3회 작업형 2 풀이 방식을 기출 5회 작업형 2에 활용하지 못하는건가요? import pandas as pdtrain = pd.read_csv("train.csv")test = pd.read_csv("test.csv") n_train = train.select_dtypes(exclude ='object').copyc_train = train.select_dtypes(include ='object').copyn_test = test.select_dtypes(exclude = 'object').copyc_test = test.select_dtypes(include = 'object').copy from sklearn.preprocessing import RobustScalercols = ['year', 'mileage', 'tax', 'mpg', 'engineSize']scaler = RobustScaler()n_train[cols] = scaler.fit_transform(n_train[cols])n_test[cols] = scaler.transform(n_test[cols]) c_train = pd.get_dummies(c_train)c_test = pd.get_dummies(c_test) train = pd.concat([n_train, c_train], axis=1)test = pd.concat([n_test, c_test], axis=1) print(train)print(test)
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요 강의자료 부탁드립니다.
henry0618@naver.com 강의자료 부탁드립니다 감사합니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요!!
안녕하세요!오늘부터 강좌 수강입니다!강의자료 부탁드립니다. 감사합니다. hahnjae29@gmail.com
-
미해결평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자
수익률이 맞는지 코드 문의 드립니다.
안녕하세요 수강을 하여 만족스러운 강의를 들었습니다. 개인적으로 궁금한 것을 구현했는데 소스가 맞는지 검증 부탁드려도 될까 합니다. 생각해 본 부분을 짜보긴 했지만 수익률이 잘못 나온 듯하여 오류를 아무리 검증해보려고해도 알 수가 없어서 문의드립니다. 추가로 다른 분에게도 도움이 되길 바라고, 또한 제 코드에서도 최적화 할 부분이 보일 듯하니 조언 부탁드립니다. 강의에서 나온 부분이 많기에 주석과 맥락등은 일부 제거 했습니다. [조건] 종목 TQQQ, SCHDadj_close 값TQQQ RSI<30 : TQQQ 3% 비중 증가 , SCHD 3%비중 감소리밸런싱 5:5 매 반기마다 실행 !apt-get update -qq !pip install yfinance import yfinance as yf import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm import numpy as np # 수정종가 def getAdjCloseData(ticker, end=None): return yf.download(ticker, period='12y')['Adj Close'] # RSI 데이터 def getRSIData(closeDataSet, periods=""): average_periods = 14 # 이평 초기에 값은 나오지 않기 때문에 더 계산하고 자름 delta = closeDataSet.diff() # closeDataSet - closeDataSet.shift(1) # 변화량 if periods != "": delta = delta.iloc[(periods + average_periods) * -1:] AU = pd.DataFrame(np.where(delta>=0, delta, 0), delta.index, delta.columns) AD = pd.DataFrame(np.where(delta<0, delta.abs(), 0), delta.index, delta.columns) # SMA AU_MA = getSimpleMovingAverage(AU, average_periods) AD_MA = getSimpleMovingAverage(AD, average_periods) rsi = AU_MA / (AU_MA + AD_MA) * 100 # RSI Signal rsiSignal = getSimpleMovingAverage(rsi, 9) if periods != "": rsi = rsi[average_periods:] rsiSignal = rsiSignal[average_periods:] return rsi, rsiSignal # RSI 값에 따른 리밸런싱 날짜 def getRSIRebalancingDate(closeDataSet, RSI = 30): rsi, rsiSignal = getRSIData(closeDataSet) data = rsi.copy() data = pd.DataFrame(data) dataIndex = data[data.iloc[:, 0] <= RSI].index return dataIndex def getWeightByRSI(closeDataSet): RSIrebalancingDate = getRSIRebalancingDate(closeDataSet, 30) # RSI가 30이하일 때 리밸런싱 날짜 rebalancingDate = getRebalancingDate(closeDataSet, 'half') # 동일비중 리밸런싱 할 날짜 rebal = pd.DataFrame([[1/len(closeDataSet.columns)] * len(closeDataSet.columns)] * len(rebalancingDate), index=rebalancingDate, columns=closeDataSet.columns) rebal['period'] = 1 # 기간에 따른 리밸런싱 rsiRebal = pd.DataFrame([[1/len(closeDataSet.columns)] * len(closeDataSet.columns)] * len(RSIrebalancingDate), index=RSIrebalancingDate, columns=closeDataSet.columns) rsiRebal['period'] = 0 # RSI에 따른 리밸런싱 weightDf = pd.concat([rebal, rsiRebal], axis=0) weightDf = weightDf.sort_index() # 리밸런싱 날짜 별 for i in range(1, len(weightDf)): if weightDf.iloc[i]['period'] == 1: # 기간에 따른 리밸런싱 weightDf.iloc[i, weightDf.columns.get_loc("TQQQ")] = weightDf.iloc[0, weightDf.columns.get_loc("TQQQ")] weightDf.iloc[i, weightDf.columns.get_loc("SCHD")] = weightDf.iloc[0, weightDf.columns.get_loc("SCHD")] else: # RSI에 따른 리밸런싱 weightDf.iloc[i, weightDf.columns.get_loc("TQQQ")] = weightDf.iloc[i-1, weightDf.columns.get_loc("TQQQ")] * 1.03 weightDf.iloc[i, weightDf.columns.get_loc("SCHD")] = weightDf.iloc[i-1, weightDf.columns.get_loc("SCHD")] * 0.97 return weightDf def getRSIPortfolioResult(closeDataSet): weight = getWeightByRSI(closeDataSet) weightDf = pd.DataFrame(weight) rebalancingDate = weightDf.index portfolio = pd.DataFrame() # 빈 데이터 프레임 생성 totalAsset = 1 # 총 자산, 초기값 1 start = rebalancingDate[0] # 리밸런싱 날짜, 초기값 첫 투자일 for end in rebalancingDate[1:]: weight = weightDf.loc[start] # 당월 리밸런싱 비율 weight = weight.drop('period') priceData = closeDataSet.loc[start:end] # 당월 가격 데이터 cumReturn = getCumulativeReturn(priceData) # 당월 누적 수익률 weightedCumReturn = weight * cumReturn # 당월 리밸런싱 비율이 반영된 누적 수 netCumReturn = totalAsset * weightedCumReturn # 전월 투자 결과 반영 (이전 블록의 누적 수익을 포함시킴) start = end # start 갱신 totalAsset = netCumReturn.iloc[-1].sum() # 총 자산 갱신 portfolio = pd.concat([portfolio, netCumReturn]) # 매월 데이터 추가 portfolio = portfolio.loc[~portfolio.index.duplicated(keep='last')] # 중복 데이터 제거 portfolioCumulativeReturn = portfolio.sum(axis=1) # 포트폴리오 누적 수익률 portfolioDayReturn = (portfolioCumulativeReturn / portfolioCumulativeReturn.shift(1)).fillna(1) # 포트폴리오 일간 수익률 return portfolioDayReturn, portfolioCumulativeReturn closeDataSet = pd.DataFrame() TQQQ = getAdjCloseData("TQQQ") # TQQQ SCHD = getAdjCloseData("SCHD") # SCHD closeDataSet = pd.concat([TQQQ , SCHD ], axis=1) closeDataSet.columns = asset closeDataSet.dropna(inplace=True) _, rsiCumReturn = getRSIPortfolioResult(closeDataSet) rsiMomentumCAGR, rsiMomentumDD, rsiMomentumMDD = getEvaluation(rsiCumReturn)
-
미해결알고리즘 코딩테스트 문제풀이 with JAVA & 파이썬 (난이도 - 브론즈 3)
DAY11 영상에 오타있네요
최댓값 문제 2566번인데 2556번(별 찍기 - 14)로 숫자가 잘못되어있습니다.수정 부탁드립니다.
-
해결됨퀀트 투자를 위한 파이썬 트레이딩룸 만들기 - Part 3
Var 전개식 질문
좋은 강좌 감사합니다. 손필기하면서 강좌 보고 있어요.강좌 중 Var 전개식에서 E[{(X-E[X]) - (Y-E[Y])}^2] 로 표기되어 있는데요.E[{(X-E[X]) + (Y-E[Y])}^2] 이 맞는 표현 같습니다.그래야 u,v 치환해도 맞으니깐요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 기출 작업형 2 질문 cross_val_score 질문 (2)
총 3가지 질문이 있습니다! 교차검증에서 cross_val_score 을 활용하면from sklearn.metrics import f1_score 을 활용하지 않아도 되는 건가요?(scoring='f1_macro' 라고 되어 있어서 train_test_split 과 f1_score 평가를 동시에 진행하는 방식 같은데..맞나요..?) 문제에서 평가 : Macro f1_score 라고 되어 있는데,강사님처럼 교차검증에서 cross_val_score을 활용해도 되고, train_test_split +from sklearn.metrics import f1_score 활용해도 되는건가요? 이전 강의에서f1_score 평가 설명시from sklearn.metrics import f1_scoref1 = f1_score(y_true_str, y_pred, average = 'macro')라고 알려 주셨는데, metrics 를 불러와서 f1_score을 평가하는 것은 train_test_split 을 통해 X_tr, X_val, y_tr, y_val 로 분리한 경우에만 사용할 수 있는 거죠??(2번 질문과 이어짐) ps. 친절한 강의, 답변 감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 기출 작업형 2번 cross_val_score 질문
cross_val_score 풀이에서 from sklearn.model_selection import cross_val_scorescores = cross_val_score(rf, train, target, scoring='f1_macro', cv=5)라고 써주셨는데요. from sklearn.model_selection import cross_val_scoreprint(help(cross_val_score))했더니 사진처럼 cross_val_score 활용방법이 안 뜨고 오류만 뜹니다ㅠㅠ scores = cross_val_score(rf, train, target, scoring='f1_macro', cv=5)을 전부 외우고 있어야 하는 건가요??
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
channels with uvicorn
안녕하세요 선생님강의도 둘러보고, 질문게시판도 찾아보고 며칠동안 시도를 해보다 개발 중 풀리지 않는 부분이 있어 질문을 드리려합니다.(강의와 연관성이 있을지 모르겠습니다만 질문드려봅니다) 일단 현재 gunicorn의 worker로 uvicorn을 사용하는 환경을 구성하였고, 이에 따라 병렬 + 비동기 처리가 가능해진 상황에서 websocket을 활용해보려는 시도 중에 있습니다. session time이 만료되면 웹소켓을 활용하여 브라우저에 시그널을 주려고 하는데요,session관리는 redis로 구성하였고channels와 uvicorn을 조합하여 웹소켓을 관리하려 시도해보고 있습니다. 나름 uvicorn을 활용하여 디버깅 환경도 맞춰 놓았고, whitenoise를 활용하여 static 파일의 서빙도 해결해놓은 상태입니다. 기존 선생님의 웹소켓 강의가 daphne으로 구축되어있는 것으로 파악이 되어 별도로 강의를 수강하진 않았습니다만, 채팅이 아닌 양방향 통신을 위한 웹소켓의 활용에 channels + redis + uvicorn 조합이 어떤지에 대한 견해를 여쭙고 싶습니다. 그리고 로그인 이후 home 앱에 들어왔을때 웹소켓을 최초로 열려고 하는데 (세션은 그 전에 생성됩니다) socket 경로인 ws://127.0.0.1:8000/ws/session_expiry/ 경로를 찾을 수 없다는 문제가 계속 되고 있습니다.이에 대한 해결 법도 궁급합니다. 대략적인 셋팅 화면 캡쳐해서 올립니다. settings 구조config.local (테스트 과정이라 local에만 있습니다, WSGI_APPLICATION은 base에 선언되어있습니다)config.asgi 앱/routing 파일앱/consumers 파일웹소켓 관련 js파이참에서는 NotImplementedError: subclasses of LazyObject must provide a _setup() methodINFO: connection openINFO: connection closed요렇게 에러가 뜹니다. 혹 channels 강의를 들으면 알 수있는 부분이라면 알려주시면 수강할 수 있도록 하겠습니다! 항상 감사드립니다 선생님!
-
미해결AI 댓글 자동화 프로그램 개발 강의 (네이버 블로그)
강의중 나오는 자동화 프로그램 1개월 이용권
2차시에 나오는 ALL 자동화 프로그램 1개월권은 이용 해 볼 수 없는 건가요?별도 구입이 필요한건가요?
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
강의를 응용해서 적용해보려 했는데 쉽지 않네요,,
안녕하세요 [응용] 엑셀문서 값을 필드에 입력하기 강의를 활용해서제 나름대로 누름틀 9개짜리 샘플양식을 만든 뒤에엑셀에 있는 데이터를 넣어보려고 했는데엑셀에 있는 필드값과 같은 누름틀에 들어가는게 아니라뒤죽박죽으로 들어가서 뭐가 문제인지 모르겠네요.제가 코드를 이해하지 못한 게 문제인 것 같은데 메일로 뭐가 잘못된거지 혹시 확인 좀 부탁드려도 괜찮을까요? ㅠㅠ
-
미해결파이썬 무료 강의 (활용편7) - 머신러닝
K-평균(실습#3) 결과 값이 왜 다르게 나올까요?
random_state=0으로 결과값을 맞추면 강사님과 결과값이 동일해야하는데요. ㅠy_kmeans의 결과값이 다르게 나옵니다.강사님 파일 받은거 돌려도 그러네요. 그래서 그런지 클러스터 네이밍 번호 순서도 다르게 나와요.vscode, 주피터 모두 동일하게 나와서... 강사님과 같지 않아도 맞는거겠죠?ㅎㅎ
-
미해결파이썬 무료 강의 (활용편7) - 머신러닝
K-평균(실습#2) 의 fit, fit_transform 질문입니다.
StandardScaler()KMeans() 객체 생성 후 fit_transform(), fit() 으로 학습데이터 만들기 하는데, 모두 훈련데이터니까...둘다 fit(), 또는 fit_transform()으로 구분없이 사용해도 되는건가요?아니면... 구분지어야 하는 이유가 있는건지 궁금합니다.
-
해결됨Airflow 마스터 클래스
python 설치 관련
안녕하세요.python 설치 관련 질문이 있어 문의드립니다 ~ 강의에서는 파이썬 3.7.x 버전 설치 후 python 명령어를 통해 버전을 확인해주셨는데요.강의를 보고 저도 3.8.x 버전 설치 후 (에어플로우와 버전 통일) python 명령어를 통해 버전을 확인해보았는데, 버전이 확인되지 않아 python3 명령어를 사용해보니 버전이 확인되었습니다.구글링을 해보니 파이썬 3버전 부터는 python3 명령어를 사용해야 한다고 하는데강사님 버전은 3버전임에도 불구하고 오류없이 작동하여서 별도의 처리를 해두신건지 궁금합니다.(참고로 제 os는 mac os입니다!)
-
해결됨삼각형의 실전! OpenAI Triton 초급
코드가 실행되는 순서에 관하여
@triton.jit def add_kernel(x_ptr, y_ptr, z_ptr, size, block_size: tl.constexpr): (...) def add(x, y): z = (...) size = (...) def grid(meta): return (triton.cdiv(size, meta["block_size"]),) add_kernel[grid](x, y, z, size, 1024) return z 안녕하세요 vector_add.py를 보던 중, 코드 라인이 실행되는 순서가 궁금하여 질문남깁니다 수업에서 runtime 때 meta가 받아진다고 말씀해주셨는데요.그렇다면 코드가 실행되는 순서가runtime 동안 add_kernel의 argument로 들어온 x, y, z, size, 1024가 meta로 받아지고meta를 이용해 grid가 (n, )의 형태로 set되고 그 이후 add_kernel이 실행된다가 맞을까요? 또 하나 궁금한 것은 아래 라인이 실행될 때 @triton.jit 데코레이터의 역할인데요add_kernel[grid](x, y, z, size, 1024)(x, y, z, size, 1024)를 meta로 받아준다그 meta가 적용된 특정 grid 설정 위에서 add_kernel 함수가 실행될 수 있게 해준다일까요? 파이썬에서 원래 함수는 subscriptable하지 않아, 위 syntax가 생소해서 질문드립니다
-
해결됨삼각형의 실전! OpenAI Triton 초급
실행을 위한 최적 환경
안녕하세요 hello_triton.py가 실행이 되지 않아 질문남깁니다 현재 cuda==11.8pytorch==2.1.2triton==2.1 의 환경을 사용하고 있습니다 hello_triton.py 실행 시 아래 오류가 뜹니다Traceback (most recent call last): File "/home/furiosa/Desktop/workspace/Triton/practice-triton/hello_triton.py", line 28, in <module> def hello_triton(): File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 542, in jit return decorator(fn) File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 534, in decorator return JITFunction( File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 433, in init self.run = self._make_launcher() File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 400, in makelauncher exec(src, scope) File "<string>", line 2 def hello_triton(, grid=None, num_warps=4, num_stages=3, extern_libs=None, stream=None, warmup=False, device=None, device_type=None): ^SyntaxError: invalid syntax triton==2.2 가 아니라 2.1을 사용하는 이유는, hello_triton.py 실행 시 아래 오류가 떴기 때문입니다RuntimeError: Triton Error [CUDA]: device kernel image is invalid 공식홈페이지에서 제공하는 01-vetor-add.py 같은 경우 실행이 잘됩니다triton을 사용하기 위한 최적환경은 무엇인지 별 설명이 없었던 것 같은데요어떤 cuda/pytorch 환경을 사용해야 오류가 가장 안나고 안정적인가요?위 오류는 왜 일어나고 어떻게 해결할까요? 인터넷에도 크게 도움되는 정보는 없어서 부득이 질문 남깁니다ㅠㅠ