나는 아주 간단한 문제가있다. 팬더 데이터 프레임의 주어진 행에서 주어진 열의 값을 변경하고 싶습니다. 나는 다음과 같은 방법으로 그것을 수행하려고 : 나는 다음과 같은 경고를 얻을 결과판다 데이터 프레임의 한 "셀"에서 값을 수정하는 방법은 무엇입니까?
df['column3'].loc[this_date] = val
:
SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame
이 경고의 나의 해석은 그 열 이름 ('column3'
)와 loc
I을 사용하여 데이터 프레임의 원하는 셀을 실제로 액세스 (참조)하지 마십시오. 대신, "셀"개체의 복사본 인 개체를 만든 다음이 "복사 개체"와 연결된 값을 변경하려고합니다.
내가 이해할 수없는 것은 작동하는 것 같습니다. 팬더가 저에게 사본을 수정하려고한다는 사실을 기재 했음에도 불구하고 원본 데이터 프레임을 수정합니다.
내 질문은 팬더가 불평하지 않도록 내가하고 싶은 일을 "올바른"방식으로 수행하고 있는지 확인하는 방법입니다.
[this_date, '3 열'] = 발 : 그렇지 않으면 당신은
pd.set_option('mode.chained_assignment', None)
값을 설정하는 귀하의 방법은 다음과 같은 것들과 함께, 괜찮하여 경고를 억제 할 수 '? 귀하의 버전은 다음과 다를 수 있습니다. http://pandas.pydata.org/pandas-docs/stable/indexing.html – EdChum
사실 그것이 작동한다는 것은 부수적 인 것이며 작동하지 않을 수 있으며 경고를받는 이유입니다. 이전 주석, 아무런 경고도 나타나지 않아야합니다. – EdChum