>백엔드 개발 >파이썬 튜토리얼 >내 Pandas DataFrame이 값을 `replace()`로 바꾸지 않는 이유는 무엇입니까?

내 Pandas DataFrame이 값을 `replace()`로 바꾸지 않는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-27 02:17:30197검색

Why Isn't My Pandas DataFrame Replacing Values with `replace()`?

replace() 메서드가 내 Pandas DataFrame의 값을 바꾸지 않는 이유는 무엇입니까?

간단한 문자열에서 특정 문자열을 NaN으로 바꾸려고 시도하는데도 불구하고 DataFrame에서 교체() 메서드는 효과적이지 않은 것 같습니다. 예를 들면 다음과 같습니다.

<code class="python">d = {'color' : pd.Series(['white', 'blue', 'orange']),
   'second_color': pd.Series(['white', 'black', 'blue']),
   'value' : pd.Series([1., 2., 3.])}
df = pd.DataFrame(d)
df.replace('white', np.nan)</code>

'white' 값이 NaN으로 대체된 예상 출력은 달성되지 않습니다. 대신 DataFrame은 변경되지 않은 상태로 유지됩니다.

해결책: regex=True로 부분 교체 활성화

기본적으로 교체() 메서드는 전체 문자열 교체를 수행합니다. 부분 교체를 활성화하려면 regex 매개변수를 True로 설정해야 합니다. 이 작은 조정을 통해 DataFrame 내 어디에서나 특정 문자열을 바꿀 수 있습니다.

<code class="python">df.replace('white', np.nan, regex=True)</code>

이 수정을 통해 DataFrame은 'white'의 모든 인스턴스를 NaN으로 올바르게 대체합니다.

위 내용은 내 Pandas DataFrame이 값을 `replace()`로 바꾸지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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