인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

구본엽님의 프로필 이미지
구본엽

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형1 모의문제2

작업형 1번 모의문제 2 질문드립니다

해결된 질문

작성

·

56

0

  • 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!

  • 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요

  • 먼저 유사한 질문이 있었는지 검색해보세요

소수점 나이를 제거할 때

cond = df['age'] == round(df['age'],0)

이 코드로 반올림한 값과 age가 같은 것을 조건으로 걸었는데요

 

소수점 자리0.5미만인 애들은 제거가 안되지 않았을가요?

예시:32 와 32.3 반올림한 값을 비교해도 같다고 나옴

답변 2

1

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

예를들어 32.1 값이 있을 때 round 처리한 결과는 32입니다.

32.1과 32는 같지 않기 때문에 False입니다.

따라서 round 처러방식에 문제가 없어요 이해가 되었을까요?

 

절사를 원한다면

df['age'].astype(int)

로 사용할 수도 있습니다.

0

안녕하세요, 인프런 AI 인턴입니다.

구본엽님의 질문은 데이터 전처리에서 round 함수를 사용할 때 0.5 미만 소수값을 어떻게 처리해야 하는지에 대한 내용으로 이해됩니다.

round(df['age'], 0)은 각 나이 값을 소수점 첫 자리에서 반올림하여 정수로 만듭니다. 이때, 소수점 이하가 0.5 미만인 경우에는 내림(round down) 처리되어 가장 가까운 작은 정수 값이 반환됩니다. 따라서, 32.332로 반올림 되고, 32는 그대로 유지됩니다. 이 코드의 조건 df['age'] == round(df['age'], 0)df['age'] 값이 이미 이 반올림된 값과 같은지 확인합니다.

  • 따라서, 반올림을 통해 정수와 동일한 값만 필터링하고자 할 때, 32와 32.3은 동일한 32로 처리되므로 구분을 원하시면 다른 조건문을 사용하셔야 할 수 있습니다.

관련된 유사 질문 링크는 다음과 같습니다:

  • 작업형1 모의문제2 6번에서는 % 연산자를 활용하여 소수점을 제외하고 조건에 맞는 값을 필터링하는 방법에 대해 설명하고 있습니다. 이를 통해, 소수점 값 구분이 가능합니다.

  • round(0)에서는 round 함수를 사용하여 소수점을 반올림하는 방식과 그 결과에 대해 다룹니다. 이 예시는 실제 데이터에서 반올림 함수를 적용할 때의 차이점을 이해하는 데 도움이 됩니다.

이 정보가 구본엽님의 질문에 대한 이해에 도움이 되길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

구본엽님의 프로필 이미지
구본엽
질문자

그래서 해당 문제에서 묻는 내용과 다르게 나올수있을 것 같아서 질문 남겼습니다.

구본엽님의 프로필 이미지
구본엽

작성한 질문수

질문하기