커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
[DART - 최대주주현황] 파이썬 디버깅 기능 관련 문의
금융인을 위한 파이썬 업무자동화 v0
0주차
북마크
이*구
댓글
2
추천
0
조회수
11
조회수
11
답변 완료

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

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


최대 주주 현황을 받아 '기초지분율' 컬럼을 to_numeric 할 때 에러가 발생했습니다.

원인은 '계'에 들어 있는 지분율이 숫자가 아니라 기호 ('-') 여서 이를 숫자로 변환하지 못하는 것 입니다.

(df 전체 라인 수가 91줄이고 에러 메시지 마지막 줄에 ValueError: Unable to parse string "-" at position 91 라고 써 있음)


이것을 찾는데 한참 걸렸는데 파이썬에도 C언어 디버거 처럼

stack을 따라 이동하며 변수의 값을 확인하는 기능이 있으면 수월 했을 것 같습니다.

혹시 colab의 파이썬에도 그런 기능이 있나요 ???


스파르타 즉문즉답



작성한 코드 및 에러 메세지

--- 코드 ---

!pip install dart-fss


import dart_fss as dart_fss

import pandas as pd


api_key = '*****************************'

dart_fss.set_api_key(api_key=api_key)


data = dart_fss.api.info.hyslr_sttus('00258801', '2022', '11011') # 카카오

df = pd.DataFrame(data['list'])

#print(df)


df = df[['corp_name','nm','relate','bsis_posesn_stock_qota_rt','trmend_posesn_stock_qota_rt','rm']]

df.columns = ['기업명','이름','관계','기초지분율','기말지분율','비고']

#print(df)


df['기초지분율'] = pd.to_numeric (df['기초지분율'])



--- 에러 메시지 ---

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/pandas/_libs/lib.pyx in pandas._libs.lib.maybe_convert_numeric()

ValueError: Unable to parse string "-"
During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)

2 frames

<ipython-input-57-12d79c1b3e27> in <cell line: 9>()
      7 #print(df)
      8 
----> 9 df['기초지분율'] = pd.to_numeric (df['기초지분율'])

/usr/local/lib/python3.10/dist-packages/pandas/core/tools/numeric.py in to_numeric(arg, errors, downcast)
    183         coerce_numeric = errors not in ("ignore", "raise")
    184         try:
--> 185             values, _ = lib.maybe_convert_numeric(
    186                 values, set(), coerce_numeric=coerce_numeric
    187             )

/usr/local/lib/python3.10/dist-packages/pandas/_libs/lib.pyx in pandas._libs.lib.maybe_convert_numeric()

ValueError: Unable to parse string "-" at position 91



오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




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