Inflearn brand logo image

인프런 커뮤니티 질문&답변

pgbwings님의 프로필 이미지
pgbwings

작성한 질문수

파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기

[5/6] tqdm으로 전체 데이터 수집 과정 보기 merge로 데이터 병합하고 to_csv로 데이터 저장하기

concat 을 통한 데이터 프레임 합치기 에러 문의

작성

·

28

0

 

df_item_info = pd.concat(result.tolist())

df_item_info = df_item_info.reset_index()

df_item_info["종목코드"] = df["종목코드"]

7분 40초경 강의의 위 코드 실행시

 

InvalidIndexError                         Traceback (most recent call last)
Cell In[49], line 6
      1 # result를 list로 만들고 concat을 통해 DataFrame으로 만듭니다.
      2 # concat으로 데이터프레임을 합쳐줄때는 리스트 형태로 각 데이터프레임을 넣어주어야 합니다.
      3 # result_valid = result[result.notnull()]  # 또는: result.dropna()
      4 # df_item_info = pd.concat(result_valid.tolist(), ignore_index=True)
----> 6 df_item_info = pd.concat(result.tolist())
      7 df_item_info = df_item_info.reset_index()
      8 df_item_info["종목코드"] = df["종목코드"]

File ~\anaconda3\Lib\site-packages\pandas\core\reshape\concat.py:395, in concat(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy)
    380     copy = False
    382 op = _Concatenator(
    383     objs,
    384     axis=axis,
   (...)
    392     sort=sort,
    393 )
--> 395 return op.get_result()

File ~\anaconda3\Lib\site-packages\pandas\core\reshape\concat.py:680, in _Concatenator.get_result(self)
    678         obj_labels = obj.axes[1 - ax]
    679         if not new_labels.equals(obj_labels):
--> 680             indexers[ax] = obj_labels.get_indexer(new_labels)
    682     mgrs_indexers.append((obj._mgr, indexers))
    684 new_data = concatenate_managers(
    685     mgrs_indexers, self.new_axes, concat_axis=self.bm_axis, copy=self.copy
    686 )

File ~\anaconda3\Lib\site-packages\pandas\core\indexes\base.py:3885, in Index.get_indexer(self, target, method, limit, tolerance)
   3882 self._check_indexing_method(method, limit, tolerance)
   3884 if not self._index_as_unique:
-> 3885     raise InvalidIndexError(self._requires_unique_msg)
   3887 if len(target) == 0:
   3888     return np.array([], dtype=np.intp)

InvalidIndexError: Reindexing only valid with uniquely valued Index objects

위와 같이 오류가 납니다.

OUTPUT 파일 이용해서 실행했었고 중간에 오류나는것들은 CHATGPT 통해서 해결했는데 위의 오류만큼은 CHATGPT를 통해도 해결이 안되네요.

혹시 해결 방법을 알 수 있을까요?

 

 

답변 1

0

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요. 해당 기능을 사용하는 장점이 어떤 컬럼이 올지 몰라도 컬럼 스키마를 지정하지 않고 사용할 수 있다는게 가장 큰 장점인데요. 판다스 기능이 업데이트 되면서 컬럼명 형식 등이 불일치 되는 데이터에 대해 병합 오류가 발생하고 있습니다. 그래서 전체를 병합하기 전에 병합할 일부 컬럼 정보를 지정하고 병합해 보시는 것을 추천드립니다. 조만간 해당 내용에 대해 콘텐츠를 업데이트하도록 하겠습니다. 이용에 불편을 드려 죄송합니다. 감사합니다!

pgbwings님의 프로필 이미지
pgbwings

작성한 질문수

질문하기