Этот вопрос не относится к столбцам, вы можете решить его, просто используя индекс.
Сначала сгруппируйте данные по каждому дню.
# I created a demo df
grouped = df.groupby(pd.Grouper(freq='D')).count()
print(grouped)
CRIME
2019-01-01 2
2019-01-02 5
2019-01-03 20
2019-01-04 2
2019-01-05 1
Затем отрежьтеСтолбец CRIME
на разных уровнях.
grouped['Crime level'] = pd.cut(grouped.CRIME,
bins=[0,2,5,100],
labels =["Low","Medium","High"])
print(grouped)
Операция pd.cut
разрезает столбец CRIME
на 3 интервала (0,2], (2,5], (5,100]
и присваивает метки ["Low","Medium","High"]
каждому интервалу.
CRIME Crime level
2019-01-01 2 Low
2019-01-02 5 Medium
2019-01-03 20 High
2019-01-04 2 Low
2019-01-05 1 Low