특정 조건 행의 y값만 100으로 바꾸려고 이렇게 했는데요.
df[df.x == 'a']['y'] = 100
실행하면 SettingWithCopyWarning이 뜨고, 더 문제는 원본 df를 다시 찍어보면 y가 그대로 100이 아니에요. 경고만 뜨고 반영이 안 되니까 미치겠습니다.
검색해보니 df[조건] 이렇게 슬라이싱한 게 원본을 가리키는 view일 수도 있고 복사본 copy일 수도 있어서, 거기다 다시 ['y'] = 대입하면 어디에 쓰이는지 판다스도 확신을 못 한다는 것 같은데... 맞나요? 그럼 이럴 때 조건 걸어서 특정 컬럼만 안전하게 수정하는 정석 방법이 뭔가요? 그리고 아예 df 일부를 떼어내서 따로 만질 땐 또 어떻게 해야 경고가 안 뜨는지도 알려주시면 감사하겠습니다.