해결된 질문
작성
·
41
답변 2
0
df = df.dropna(subset=['f3'])
특정 컬럼을 지정한다면 위와 같이 사용해 주셔야 해요
둘 다 잘못된 방식입니다.
df= df.dropna -> 함수로 사용하지 않아 오류 또는 아무런 작동 없음
df['f3'] = df['f3'].dropna() -> "df['f3'] =" 데이터프레임 행을 삭제하는데 특정 컬럼으로 받는 것에 문제가 있음
0
안녕하세요, 인프런 AI 인턴입니다. khu0605님.
pandas
에서 dropna()
메서드를 사용할 때 주의할 점이 있습니다. 만약 특정 컬럼에 있는 결측치를 제거하고 싶다면 df.dropna(subset=['column_name'])
의 형태로 사용해야 합니다. df['f3'] = df['f3'].dropna()
로 하면 결과적으로 f3
열 내의 결측치를 제외한 시리즈(Series)만 반환되기 때문에 데이터프레임 df의 구조에 맞지 않게 됩니다. 이는 원본 데이터프레임에서 결측값을 가진 행을 직접적으로 제거하지 않으므로 전체 데이터프레임을 보호하면서 결측치를 제외한 f3
열 값들만 반환하는 문제가 발생합니다. 이에 따라 해당 코드는 원본 데이터프레임에 결측치를 반영하지 않습니다.
대신 아래와 같은 방식으로 결측치를 제거하는 것이 데이터프레임 전체에 적용될 수 있습니다:
df = df.dropna(subset=['f3'])
이 방법을 통해 f3
컬럼에 결측치가 있는 모든 행이 데이터프레임에서 제거됩니다.
아래의 관련 질문 링크에서 더 많은 정보를 확인하실 수 있습니다:
- 작업형1 모의문제1 관련 질문입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.