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 중국어 웹사이트의 기타 관련 기사를 참조하세요!