pd.concat(result.tolist()) 오류 문의
5.1 업종 테마주 수집.ipynb 진행 과정에서
pd.concat(result.tolist()) 에서
InvalidIndexError: Reindexing only valid with uniquely valued Index objects
가 발생하는데, inplace=True를 추가 또는 다양한 방법으로 해결하려 해도 해결이 되지 않습니다.
이전 다른 분들도 같은 오류가 나서 문의를 하였는데 해결이 되었나요?

참고로, 테스트 하는 과정에서 get_item_info 함수 안의
finance_info = tables[3].iloc[:, [0, -1]]
finance_info.columns = [0, 1]
item_info.append(finance_info)
문장을 주석처리 하면 pd.concat(result.tolist()) 부분이 정상적으로 처리가 되고 있습니다.
원인과 해결 방법을 알려 주시면 감사하겠습니다.
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
pd.concat(result.tolist())에서 InvalidIndexError: Reindexing only valid with uniquely valued Index objects 오류가 발생하는 경우, 합치려는 DataFrame들 중 하나 이상이 중복된 인덱스 값을 가지고 있기 때문입니다. 이는 pd.concat 함수가 유니크한 인덱스를 기대하는데, 중복된 인덱스 값을 갖는 DataFrame이 존재할 때 발생합니다.
문제를 해결하기 위해 아래 방법을 시도해 볼 수 있습니다.
인덱스 초기화: 각 DataFrame의 인덱스를
reset_index()를 통해 초기화한 후에pd.concat을 시도합니다. 이렇게 하면 각 DataFrame이 고유한 인덱스를 가지게 되어 오류가 해결될 수 있습니다.result = [df.reset_index(drop=True) for df in result] pd.concat(result.tolist())이 때,
drop=True옵션을 주면 기존 인덱스가 새로운 컬럼으로 추가되지 않고 삭제됩니다.중복 인덱스 확인:
pd.concat하기 전에 각 DataFrame의 인덱스가 유니크한지 확인합니다. 만약 중복된 인덱스가 있다면, 인덱스를 변경하거나 유니크하게 만든 후 concat을 진행해야 합니다.
본문에서 언급하신 것처럼 finance_info = tables[3].iloc[:, [0, -1]]에서 생성된 finance_info DataFrame이 문제일 수 있습니다. 이 경우, finance_info의 인덱스에 중복이 없는지 확인하거나, 위 방법으로 인덱스를 초기화하고 다시 시도해 보세요.
질문에서 언급된 get_item_info 함수의 일부 코드를 주석 처리했을 때 오류가 사라진다는 점을 통해, 이 부분에서 중복 인덱스가 발생할 수 있음을 짐작할 수 있습니다. 따라서 finance_info를 생성하거나 추가할 때 중복 인덱스가 발생하지 않도록 처리하는 것이 중요합니다.
해결 방안을 시도해 보시고, 여전히 문제가 해결되지 않는다면, 추가적인 정보나 오류 메시지와 함께 다시 문의해 주세요.
1
위의 방법으로도 문제가 해결되지 않아 원인을 파악해 본 결과, 다음과 같이 해결할 수 있었습니다.
네이버의 업종주 목록에는 코스피, 코스닥뿐만 아니라 코넥스도 포함되어 있습니다. 코넥스기업의 경우, 코스피/코스닥 기업과 달리 "기업실적분석" 결과가 없기 때문에 취합된 데이터 형식의 구성이 달라 오류가 발생하였습니다.
이를 해결하기 위하여 df_krx = df_krx[df_krx['Market'].isin(['KOSPI', 'KOSDAQ'])] 구문을 사용하여 코스피와 코스닥 기업만을 대상으로 데이터를 취합해 보니 다행히 정상적으로 진행되었습니다.
모든 데이터를 취합하여 검증하고 후처리하는 것이 이상적이겠지만, 일단은 위 방법으로 수업을 계속 진행할 수 있었습니다. 혹시 다른 해결 방법을 알고 계시면 공유해 주시면 감사하겠습니다.
감사합니다.
cufflinks 버전문제로 iplot() 미실행
0
43
2
[수정요청]직접 수집한 주가 데이터로 시각화해보기
0
52
2
pd.read_html(url, encoding='cp949') 에러
0
75
2
fdr.StockListing('KRX') 문제 발생
0
137
2
주식 자동매매 프로그램 제작 관련 조언 부탁드립니다
0
431
1
concat 을 통한 데이터 프레임 합치기 에러 문의
0
105
2
한글폰트 관련해서 문의드립니다.
0
230
2
데이터프레임 칼럼명 문의 드립니다.
0
239
3
금융데이터 수집의 모든것
0
145
2
녹화시점과 현재시점 컬럼명이 변경이 많이 되었을까요?
0
192
2
파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기 - 섹션1 [2/2]
0
174
1
Mac 환경에서 nbextensions 활성화 하는 방법
0
594
2
5.1 제약 데이터 수집 오류 해결
0
231
1
Table of contents 문의드립니다
0
209
2
concat을 통한 데이터프레임 합치기
0
548
2
Reindexing only valid with uniquely valued Index objects 오류 질문입니다.
0
491
1
데이터 비교시 데이터 불일치
0
410
1
dtype={"itemcode": np.object}) 을 dtype={"itemcode": object}) 으로 변경해야 하나요?
0
593
1
질문 : for문 풀어쓰기
0
488
1
파이참에서 Plotly 그래프 실행방법
0
1308
1
5.1 데이터프레임 병합(merge)
0
742
2
쥬피터노트북에서 실행파일 만들기
0
1450
1
주피터노트북 확장팩 설치가 안됩니다.
0
562
2
날짜 정보
0
387
1

