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