해결된 질문
작성
·
163
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
between
함수는 기본적으로 시작점과 끝점을 모두 포함하는 범위를 설정합니다.
그러나 between
함수에는 inclusive
라는 인자가 있어서, 이를 left
, right
, both
, neither
중 하나로 설정하여 범위의 포함 여부를 지정할 수 있습니다.
inclusive='left'
: 시작점은 포함하고, 끝점은 포함하지 않는 범위 (a≤x<b)
inclusive='right'
: 시작점은 포함하지 않고, 끝점은 포함하는 범위 (a<x≤b)
inclusive='both'
: 시작점과 끝점을 모두 포함하는 범위 (a≤x≤b)
inclusive='neither'
: 시작점과 끝점을 모두 포함하지 않는 범위 (a<x<b)
따라서, cond1
과 cond2
를 설정할 때, 시작점은 포함하고 끝점은 포함하지 않으려면 inclusive='left'
옵션을 사용해야 합니다.
cond1 = df['bmi'].between(18.5, 23, inclusive='left')
cond2 = df['bmi'].between(23, 25, inclusive='left')