
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
최대 주주 현황을 받아 '기초지분율' 컬럼을 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) 단축키로 코드를 한 번에 선택할 수 있어요!
