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

이명주님의 프로필 이미지

작성한 질문수

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

5회 기출유형(작업형1)

5회 기출유형 질문 > between 사용

해결된 질문

23.11.10 20:32 작성

·

139

0

정상체중: BMI 18.5이상 ~ 23미만

과체중 또는 위험체중: BMI 23 이상 ~ 25미만

cond1 = (df['bmi'] >= 18.5) & (df['bmi'] < 23) cond2 = (df['bmi'] >= 23) & (df['bmi'] < 25)

혹시 이거를 between을 사용해서

cond1 = df['bmi'].between(18.5,23) cond2 = df['bmi'].between(23,25)

이렇게 하고 싶은데 between은 시작과 끝점을 모두 포함하는건지 만약 시작은 포함하고 마지막은 포함하지 않게 하려면 어떻게 해야 하는지 궁금합니다!!

 

답변 1

0

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

2023. 11. 11. 13:56

between 함수는 기본적으로 시작점과 끝점을 모두 포함하는 범위를 설정합니다.

그러나 between 함수에는 inclusive라는 인자가 있어서, 이를 left, right, both, neither 중 하나로 설정하여 범위의 포함 여부를 지정할 수 있습니다.

  • inclusive='left': 시작점은 포함하고, 끝점은 포함하지 않는 범위 (ax<b)

  • inclusive='right': 시작점은 포함하지 않고, 끝점은 포함하는 범위 (a<xb)

  • inclusive='both': 시작점과 끝점을 모두 포함하는 범위 (axb)

  • inclusive='neither': 시작점과 끝점을 모두 포함하지 않는 범위 (a<x<b)

따라서, cond1cond2를 설정할 때, 시작점은 포함하고 끝점은 포함하지 않으려면 inclusive='left' 옵션을 사용해야 합니다.

cond1 = df['bmi'].between(18.5, 23, inclusive='left')
cond2 = df['bmi'].between(23, 25, inclusive='left')