Pandas: 연결 할당 이해
이름에서 알 수 있듯이 연결 할당에는 Pandas 개체에 대해 수행되는 일련의 할당이 포함됩니다. 이러한 할당은 새 복사본을 생성하지 않고 개체의 데이터를 수정합니다. 그러나 이 동작은 때때로 예상치 못한 결과와 SetWithCopy 경고로 이어질 수 있습니다.
연결된 할당은 어떻게 작동합니까?
Pandas 시리즈 또는 DataFrame에 할당할 때 할당은 다음을 생성합니다. 새 복사본을 만드는 대신 원본 개체에 대한 참조입니다. 따라서 시리즈 또는 DataFrame에 대한 후속 할당은 원래 개체를 수정합니다.
연결된 할당 문제
다음과 같은 경우 체인 할당이 문제가 될 수 있습니다.
이런 경우 원본 개체에 수정 사항이 반영되지 않아 혼란과 오류가 발생할 수 있습니다.
경고 수정
SettingWithCopyWarning을 해결하려면, 조작 함수에 대해서는 내부 인수를 지정하는 것이 좋습니다. 예를 들면 다음과 같습니다.
<code class="python">data['amount'] = data['amount'].astype(float, inplace=True)</code>
이렇게 하면 복사본을 만들지 않고도 원본 개체에 직접 수정이 이루어집니다.
연결된 할당의 대안
잠재적인 문제를 피하려면 원본 개체의 복사본으로 작업하는 것이 좋습니다. 이는 조작 결과를 새 변수에 할당하여 달성할 수 있습니다.
<code class="python">temp = data['amount'].fillna(data.groupby('num')['amount'].transform('mean')) data['amount'] = temp</code>
경고 끄기
원하는 경우, SettingWithCopy를 끌 수 있습니다 경고 사용:
<code class="python">pd.set_option('chained_assignment', None)</code>
그러나 이 설정은 잠재적인 할당 오류에 대한 보호 장치를 제거하므로 주의해서 진행하는 것이 좋습니다.
위 내용은 Pandas에서 연쇄 할당으로 인해 문제가 발생하는 경우는 언제인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!