>  기사  >  백엔드 개발  >  Python\'s Pandas 라이브러리에서 \"ValueError: can reindex from a 중복 축\" 오류의 원인과 해결 방법은 무엇입니까?

Python\'s Pandas 라이브러리에서 \"ValueError: can reindex from a 중복 축\" 오류의 원인과 해결 방법은 무엇입니까?

DDD
DDD원래의
2024-10-23 17:56:02441검색

What Causes the

Python Pandas의 "ValueError: 중복 축에서 재인덱싱할 수 없음" 오류 이해

"ValueError: 중복 축에서 재인덱싱할 수 없음" 오류 라이브러리는 축에서 중복된 값을 발견하는 인덱싱 작업을 나타냅니다. 이 문제를 해결하려면 먼저 Pandas의 축 개념을 이해하세요.

  • : '0' 축으로 표시됩니다.
  • : '1'축으로 표시됩니다.

오류 원인

값을 설정하거나 새 행을 생성하려고 할 때 발생하는 오류입니다. /column(축)은 DataFrame의 현재 인덱스/열에 이미 존재하는 이름입니다. Pandas는 이를 대상 축을 따라 호환 가능한 복제본이 필요한 재인덱싱 작업으로 해석합니다. 그러나 이러한 중복 항목이 있으면 작업이 실패하고 "ValueError: 중복 축에서 다시 색인을 생성할 수 없습니다." 오류가 발생합니다.

다음 DataFrame을 고려하세요.

<code class="python">import pandas as pd

data = {
    "Name": ["Alice", "Bob", "Alice"],
    "Age": [22, 25, 28]
}
df = pd.DataFrame(data)

# Attempting to set a row with a duplicate name (Alice)
df.loc["Alice"] = [30, 32]</code>

DataFrame에 "Alice" 인덱스가 있는 행이 이미 있기 때문에 이 작업을 수행하면 "ValueError: 중복 축에서 다시 색인을 생성할 수 없습니다." 오류가 발생합니다.

해결 중 오류

이 오류를 해결하려면 새 행/열을 인덱싱/할당하는 데 사용된 이름이 기존 이름과 충돌하지 않는지 확인하세요. df.index.is_unique 또는 df.columns.is_unique 메서드를 각각 사용하여 중복된 인덱스나 열 이름을 확인할 수 있습니다.

대체 접근 방식

필요한 경우 중복된 인덱스의 기존 값을 덮어쓰려면 at 메서드를 사용할 수 있습니다.

<code class="python">df.at["Alice", "Age"] = 33</code>

이 접근 방식은 인덱스 "Alice"가 있는 첫 번째 행의 "Age" 열 값을 높이지 않고 업데이트합니다. 오류가 발생했습니다.

위 내용은 Python\'s Pandas 라이브러리에서 \"ValueError: can reindex from a 중복 축\" 오류의 원인과 해결 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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