커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
financedatareader 주가지수 데이터 시각화 중 실행이 안 되는 코드가 있어 질문드립니다.
[왕초보] ChatGPT 300% 활용하기 v0
0주차
북마크
금*인
댓글
5
추천
0
조회수
8
조회수
8
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


GPT에게

FinanceDataReader를 사용해서 코스피 등 각종 지수를 시각화하는 python 코드를 작성해 줘.

라고 질문해서 얻은 코드를 실행하였는데, 시각화 부분에서 계속 에러가 발생합니다.

강의에서 강사님이 GPT에게 질문하여 얻은 코드와 비교해보아도 잘 모르겠어 질문드립니다.

올바른 코드와, 왜 이런 오류가 발생했는지도 궁금합니다!!







작성 코드입니다.

!pip install finance-datareader matplotlib


import FinanceDataReader as fdr

import pandas as pd

import matplotlib.pyplot as plt


# 데이터 가져올 기간 설정

start_date = '2023-01-01'

end_date = '2023-12-31'


# 지수 목록과 그 코드

indices = {

    'KOSPI': 'KS11',

    'KOSDAQ': 'KQ11',

    'KRX100': 'KRX100'

}


# 각 지수의 데이터를 가져와서 딕셔너리에 저장

index_data = {}

for name, code in indices.items():

    try:

        df = fdr.DataReader(code, start_date, end_date)

        index_data[name] = df

        print(f"Collected data for {name} ({code})")

    except Exception as e:

        print(f"Failed to get data for {name} ({code}): {e}")


# 시각화

plt.figure(figsize=(14, 7))


for name, df in index_data.items():

    plt.plot(df.index, df['Close'], label=name)


plt.title('Index Prices (2023)')

plt.xlabel('Date')

plt.ylabel('Close Price')

plt.legend()

plt.grid(True)

plt.show()



에러문구입니다.


Requirement already satisfied: finance-datareader in /usr/local/lib/python3.10/dist-packages (0.9.91)
Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (3.7.1)
Requirement already satisfied: pandas>=0.19.2 in /usr/local/lib/python3.10/dist-packages (from finance-datareader) (2.0.3)
Requirement already satisfied: requests>=2.3.0 in /usr/local/lib/python3.10/dist-packages (from finance-datareader) (2.31.0)
Requirement already satisfied: requests-file in /usr/local/lib/python3.10/dist-packages (from finance-datareader) (2.1.0)
Requirement already satisfied: lxml in /usr/local/lib/python3.10/dist-packages (from finance-datareader) (4.9.4)
Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from finance-datareader) (4.66.4)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.2.1)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (4.53.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.4.5)
Requirement already satisfied: numpy>=1.20 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.25.2)
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (24.1)
Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (9.4.0)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (3.1.2)
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.19.2->finance-datareader) (2023.4)
Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.19.2->finance-datareader) (2024.1)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.3.0->finance-datareader) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.3.0->finance-datareader) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.3.0->finance-datareader) (2.0.7)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.3.0->finance-datareader) (2024.6.2)
Collected data for KOSPI (KS11)
Collected data for KOSDAQ (KQ11)
HTTP Error 404: Not Found  - symbol "KRX100" not found or invalid periods
Collected data for KRX100 (KRX100)
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-6-a6c8eba932a7> in <cell line: 31>()
     30 
     31 for name, df in index_data.items():
---> 32     plt.plot(df.index, df['Close'], label=name)
     33 
     34 plt.title('Index Prices (2023)')


1 frames

/usr/local/lib/python3.10/dist-packages/pandas/core/indexes/range.py in get_loc(self, key)
    347                 raise KeyError(key) from err
    348         if isinstance(key, Hashable):
--> 349             raise KeyError(key)
    350         self._check_indexing_error(key)
    351         raise KeyError(key)

KeyError: 'Close'


코드에 따라 출력된 표입니다.


스파르타 즉문즉답


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴