>  기사  >  백엔드 개발  >  Pandas에서 \"ValueError: 중복 축에서 다시 색인을 생성할 수 없습니다\"를 해결하는 방법은 무엇입니까?

Pandas에서 \"ValueError: 중복 축에서 다시 색인을 생성할 수 없습니다\"를 해결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-23 19:01:02653검색

How to Resolve

"ValueError: 중복 축에서 재인덱싱할 수 없음" 이해

Pandas에서 재인덱싱이란 행 또는 열 레이블을 변경하는 작업을 의미합니다. DataFrame의 재인덱싱 작업을 시도하고 중복 축이 발견되면 "ValueError: 중복 축에서 재인덱싱할 수 없습니다." 오류가 발생합니다.

설명

이 오류는 일반적으로 인덱스(행 레이블) 또는 열(열 레이블)에 중복 값이 ​​포함된 DataFrame에 새 행이나 열을 할당할 때 발생합니다.

질문의 맥락에서 'sums'라는 새 행을 할당합니다. '를affinity_matrix DataFrame에 추가합니다. 그러나 이 오류는affinity_matrix의 열에 중복된 값이 있을 수 있음을 나타냅니다. 이것이 문제의 원인일 가능성이 높습니다.

문자열 레이블 행과 정수 레이블 열이 있는 다음 DataFrame을 고려하세요.

import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], index=["a", "b", "c"], columns=[1, 2, 2])

이 DataFrame에서는 열 2가 두 번 나타납니다. 각 열의 값을 합산하여 'sum'이라는 새 행을 할당하려고 하면 동일한 오류가 발생합니다.

df.loc['sum'] = df.sum(axis=0)
ValueError: cannot reindex from a duplicate axis

이 오류는 DataFrame에 이미 레이블이 지정된 열이 있기 때문에 발생합니다. '2'를 사용하여 재인덱싱을 시도하면 모호한 할당이 생성됩니다.

문제 해결

이 문제를 해결하려면 인덱스 또는 DataFrame의 열 레이블에는 중복된 값이 포함되어 있지 않습니다. 그렇다면 중복 값을 제거하거나 고유하게 레이블을 다시 지정할 수 있습니다.

위 내용은 Pandas에서 \"ValueError: 중복 축에서 다시 색인을 생성할 수 없습니다\"를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.