DataFrame의 for문에서는 df에 필드 추가가 안되나요?

보통 데이터 프레임(df)을 만들고 나서 추가사항이 있으면 필드를 추가하곤 하는데
아래와 같은 경우는 필드가 바로 추가 됩니다.

df['dtime']=[datetime.strftime(i,'%Y-%m-%d') for i in df.date]

근데, for 문 안에서는 바로 추가가 안되어 먼저 필드를 df['dtime']=""형식으로 추가하고 나서 for문에서 각 low별 값을 넣는데요..
왜 for 문 안에서는 안되는지요?

df['dtime']=""
for i in range(len(df)):
    dt=datetime.strftime(df.date[i],'%Y-%m-%d')
    time=f'{df.time[i][:2]}:{df.time[i][2:]}'
    df['dtime'][i]=dt + " " + time
print(df)

이렇게 하면 되긴 하는데, DataFrame의 슬라이스 복사본에 값을 넣으려 한다고 경고가 뜨면서 주의문을 읽으라고 나오네요..
(경고문)

A value is trying to be set on a copy of a slice from a DataFrame)
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  df['dtime'][i]=dt + " " + t

열공중 269

2022년 2월 26일 11:57 오전

목록으로