Я думаю, вам нужно right=False
в cut
для изменения closed='right'
в closed='left'
:
вправо : bool, по умолчанию True
Указывает, содержит ли ячейки крайний правый край или нет. Если right == True (по умолчанию), то для бинов [1, 2, 3, 4] указывается (1,2], (2,3], (3,4]. Этот аргумент игнорируется, если для бинов задан IntervalIndex.
df['BINS'] = pd.cut(df.CUSTOMER_AGE, bins, labels = labels,include_lowest = True, right=False)
print (df)
CUSTOMER_AGE BIN BINS
0 20 0-20 yrs 21-25 yrs
1 38 36-40 yrs 36-40 yrs
2 58 56-59 yrs 56-59 yrs
3 60 56-59 yrs > 60yrs
4 60 56-59 yrs > 60yrs
5 72 > 60 yrs > 60yrs
6 61 > 60 yrs > 60yrs
7 60 56-59 yrs > 60yrs
8 80 > 60 yrs > 60yrs
Для лучшего понимания возможна проверка Интервал :
Закрытый интервал (в математике, обозначаемый квадратными скобками) содержит свои конечные точкит. е. закрытый интервал [0, 5] характеризуется условиями 0 <= x <= 5. Это то, что обозначает закрытый = 'both'. Открытый интервал (в математике, обозначаемый скобками) не содержит своих конечных точек,т. е. открытый интервал (0, 5) характеризуется условиями 0 <x <5. Это то, что означает закрытый = «ни один». Интервалы также могут быть <strong>полуоткрытыми или полуоткрытымизакрыто , то есть [0, 5) описывается как 0 <= x <5 </strong> (закрыто = 'слева') и (0, 5] описывается 0 (закрыто = 'вправо').
, а также проверяется без параметра label
:
df['BINS_l'] = pd.cut(df.CUSTOMER_AGE, bins, include_lowest = True, right=True)
df['BINS_r'] = pd.cut(df.CUSTOMER_AGE, bins, include_lowest = True, right=False)
print (df)
CUSTOMER_AGE BIN BINS_l BINS_r
0 20 0-20 yrs (-0.001, 20.0] [20, 25)
1 38 36-40 yrs (35.0, 40.0] [35, 40)
2 58 56-59 yrs (55.0, 60.0] [55, 60)
3 60 56-59 yrs (55.0, 60.0] [60, 150)
4 60 56-59 yrs (55.0, 60.0] [60, 150)
5 72 > 60 yrs (60.0, 150.0] [60, 150)
6 61 > 60 yrs (60.0, 150.0] [60, 150)
7 60 56-59 yrs (55.0, 60.0] [60, 150)
8 80 > 60 yrs (60.0, 150.0] [60, 150)
Так что, если вы видите (60.0, 150.0]
яt означает 60.0 < x <= 150.0
(60
значения исключены).
Но во втором столбце [60, 150)
это означает 60 <= x < 150
(60
значения включены).