
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
수익률 구하기 에러 발생
보고 C:\Users\kjh29\PycharmProjects\pythonProject2\venv\Scripts\python.exe "C:/Users/kjh29/PycharmProjects/pythonProject2/venv/SPARTA/Pycharm 4주차.py"
Traceback (most recent call last):
File "C:\Users\kjh29\PycharmProjects\pythonProject2\venv\SPARTA\Pycharm 4주차.py", line 16, in <module>
df=df[['close']]
File "C:\Users\kjh29\PycharmProjects\pythonProject2\venv\lib\site-packages\pandas\core\frame.py", line 3811, in __getitem__
indexer = self.columns._get_indexer_strict(key, "columns")[1]
File "C:\Users\kjh29\PycharmProjects\pythonProject2\venv\lib\site-packages\pandas\core\indexes\base.py", line 6113, in _get_indexer_strict
self._raise_if_missing(keyarr, indexer, axis_name)
File "C:\Users\kjh29\PycharmProjects\pythonProject2\venv\lib\site-packages\pandas\core\indexes\base.py", line 6173, in _raise_if_missing
raise KeyError(f"None of [{key}] are in the [{axis_name}]")
KeyError: "None of [Index(['close'], dtype='object')] are in the [columns]"
Process finished with exit code 1계신 화면 전체를 캡처해 주시면, 튜터님들이 빠르게 상황을 이해할 수 있어요.
작성한 코드 및 에러 메세지
import yfinance as yf
yf.pdr_override()
import numpy as np
import pandas as pd
import FinanceDataReader as fdr
df = fdr.DataReader('005930','2018')
# print(df.plot(y=['close']),figsize=[15,8],grid=True) #간단한 그래프 그리기
df=df[['close']]
df['ma']=df.rolling(3).mean().shift(1)
df['action']=np.where(df['close']>df['ma'],'buy','sell')
cond1 = (df['action']=='buy') & (df['action'].shift(1)=='sell')
cond2 = (df['action']=='sell') & (df['action'].shift(1)=='buy')
# df['real_buy'] = np.where(cond.'buy','')
df_buy =df[cond1].reset_index()
df_buy.columns = ['날짜','종가(buy)', '이평값','액션']
df_sell =df[cond2].reset_index()
df_buy.columns = ['날짜','종가(sell)', '이평값','액션']
df_result = pd.concat([df_buy,df_sell],axis=1)
df_result['수익률'] = df_result['종가(sell)'] / df_result['종가(buy)']
print(df_result)
오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.
Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.
Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!
