replace() 메서드가 내 Pandas DataFrame의 값을 바꾸지 않는 이유는 무엇입니까?
간단한 문자열에서 특정 문자열을 NaN으로 바꾸려고 시도했음에도 불구하고 DataFrame에서 교체() 메서드는 효과적이지 않은 것 같습니다. 예를 들어:
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)
'white' 값이 NaN으로 대체된 예상 출력은 달성되지 않습니다. 대신 DataFrame은 변경되지 않은 상태로 유지됩니다.
해결책: regex=True로 부분 교체 활성화
기본적으로 교체() 메서드는 전체 문자열 교체를 수행합니다. 부분 교체를 활성화하려면 regex 매개변수를 True로 설정해야 합니다. 이 작은 조정을 통해 DataFrame 내 어디에서나 특정 문자열을 바꿀 수 있습니다.
df.replace('white', np.nan, regex=True)
이 수정을 통해 DataFrame은 'white'의 모든 인스턴스를 NaN으로 올바르게 대체합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3