아주 이상한 버그가 있습니다. 팬더를 사용하여 여러 데이터 프레임을 병합했습니다. 병합의 일부로 reset_index를 여러 번 호출해야합니다. 하지만 그렇게하면 reset_index의 두 번째 또는 세 번째 사용시 예기치 않게 충돌합니다.pandas가 반복적으로 충돌합니다. DataFrame.reset_index()
다음 오류 재현하는 최소한의 코드입니다 : 어떤 생각이 잘못 여기서 뭐하는거야
....
A = A.reset_index()
File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", line 2393, in reset_index
new_obj.insert(0, name, _maybe_cast(self.index.values))
File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", line 1787, in insert
self._data.insert(loc, column, value)
File "/usr/local/lib/python2.7/dist-packages/pandas/core/internals.py", line 893, in insert
raise Exception('cannot insert %s, already exists' % item)
Exception: cannot insert level_0, already exists
:
import pandas
A = pandas.DataFrame({
'val' : ['aaaaa', 'acaca', 'ddddd', 'zzzzz'],
'extra' : range(10,14),
})
A = A.reset_index()
A = A.reset_index()
A = A.reset_index()
여기에 역 추적의 관련 부분이야은? 어떻게 해결할 수 있습니까?
팬더는 원래 프레임의 인덱스에 이름이없는 경우 reset_index 후 새 열 (들)의 이름을 설정하려고 시도하거나 MultiIndex 수준은 경우에는 이름이없는 경우 MultiIndex의 A.index.name = 'index1'; A = A.reset_index(); A.index.name = "index2"; A = A.reset_index(); A.index.name = 'index3'; A = A.reset_index() ... 하나를 수행 할 수 있습니다. –