해결된 질문
작성
·
181
1
우선 문제는 최소 값 대체지만 평균으로 풀어져 있어서 평균이라고 생각하고 풀었습니다. 코드 4번째 줄에 df2.loc[:50, 'CRIM'] 을 하면 인덱스가 50번째까지 포함되어, df2['CRIM'][:50] = df2['CRIM'][:50].mean() 과 정답이 다르게 나옵니다. 찾아보니 loc 슬라이싱의 경우 끝 행이 포함되는 것 같습니다. loc를 쓴다면, df2.loc[:49, 'CRIM'] 으로 쓰면 될까요? 확인 부탁 드립니다.
답변 1
0
안녕하세요, abc님!
좋은 질문 감사드립니다.
제가 미처 확인하지 못한 오류였네요, 말씀하신 사항이 맞습니다.
최소값을 위해 mean이 아닌 min을 사용해야 하고,
loc를 이용한 슬라이싱은 칼럼명으로 하든, 숫자로 하든 끝값을 포함하게 됩니다.
때문에 이를 적절하게 풀게되면 다음과 같이 진행되게 됩니다.
(loc를 이용해서 할 경우 직관적이지 않아 혹여나 저같은 실수를 할까싶어,
간단한 슬라이싱으로 작업했습니다)
중간중간 작성한 코드를 확인하며 꼼꼼하게 학습하시는 것을 보니 좋은 결과가 기대됩니다.
다시금 좋은 질문 감사드리며, 좋은 일 가득하시길 빌겠습니다~