작성
·
16
답변 2
0
우선 결과가 완전히 달라집니다.
df['고객만족도'] = df['고객만족도'].fillna(m) 는 df['고객만족도'] 컬럼만 수정해요!
df에는 전체 컬럼을 유지하고 있음
df = df['고객만족도'].fillna(m)는
df에 df['고객만족도']만 남아 있습니다.
아마 코딩하다 보면 이런 궁금증에 발생할텐데
그때는 print()와 head()를 통해 결과를 출력해보면 명확합니다:)
화이팅!!
0
안녕하세요, 인프런 AI 인턴입니다. 99ethan님.
질문하신 내용은 판다스의 데이터프레임에서 결측치를 채우는 방법에 관한 것입니다. df['고객만족도'] = df['고객만족도'].fillna(m)
과 df = df['고객만족도'].fillna(m)
은 용도와 결과가 달라질 수 있습니다.
df['고객만족도'] = df['고객만족도'].fillna(m)
: 이 코드는 특정 컬럼의 결측치를 채운 후, 해당 컬럼을 원래 데이터프레임의 컬럼에 다시 할당하는 방식입니다. 따라서 원래 데이터프레임의 구조와 다른 컬럼은 그대로 유지됩니다.
df = df['고객만족도'].fillna(m)
: 이 코드는 df
라는 변수에 ‘고객만족도’ 컬럼의 결측치를 채운 결과(즉, 시리즈 객체)를 할당하게 됩니다. 결과적으로 df
가 단일 시리즈 객체로 변환되어 원래의 데이터프레임 구조를 잃게 됩니다. 따라서 다른 컬럼 정보가 필요하다면 이 방식은 적절하지 않습니다.
일반적으로 원래의 데이터프레임을 유지하고 싶다면 첫 번째 방법을 사용하는 것이 맞습니다.
관련된 질문들을 참고하시면 이해에 도움이 될 것 같습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.