해결된 질문
작성
·
42
0
결측 값을 가진 데이터는 바로 뒤에 있는 값으로 대체한 후 (바로 뒤가 결측값이라면 뒤에 있는 데이터 중 가장 가까운 값)
city와 f2 컬럼 기준으로 그룹합을 계산한 뒤
views가 세번째로 큰 city(도시) 이름은?
문제를 푸는데..
df = df.fillna(method='bfill')
라고 치면
<ipython-input-43-5b45f8741ad5>:7: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead. df = df.fillna(method='bfill')
과 같은 메시지가 뜨네요.
이제 df = df.fillna(method='bfill') 대신 obj.bfill() 라고 쓰는걸 익혀야 하나요?
아니면 당분간은 괜찮을런지요.
늘 감사합니다.
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 녹차의 맛님.
질문해주신 내용과 관련하여 fillna
메서드의 사용에 대한 경고 메시지와 해결 방법에 대해 설명드리겠습니다. 현재 보이는 경고 메시지는 Pandas 라이브러리의 최신 버전에서의 변경 사항과 관련이 있습니다. 이 경고는 DataFrame.fillna
메서드에 method
인자를 사용하는 것이 곧 지원되지 않을 것이라는 내용을 담고 있습니다.
대신 bfill()
메서드를 직접 사용하는 것이 권장됩니다. 두 방법의 목적은 동일하게 결측값을 바로 뒤의 값으로 채우는 것입니다.
기존 코드:
df = df.fillna(method='bfill')
권장 코드:
df = df.bfill()
하지만, 현재 코드로도 제대로 작동하고 있다면 급하게 변경할 필요는 없습니다. 하지만 이후 버전에서는 deprecated 된 기능이 기능적 문제를 일으킬 수 있으므로, 지금 익숙해지는 것이 좋을 것 같습니다.
관련해서 추가적으로 참고할 만한 게시물을 찾았습니다:
- Warning 대처방법 문의드립니다.
위 게시물에는 numeric_only
키워드와 관련된 FutureWarning에 대해 다루고 있지만, Pandas의 버전업에 따른 변경 사항들에 대한 이해를 돕는 데 유용할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.