Это не ясно из вашего вопроса, но если вы пытаетесь создать столбец, который содержит 1, если день находится между 1 и 10, или 0 в противном случае, это очень просто:
df['early_month'] = df['date_of_month'].apply(lambda x: 1 if x <= 10 else 0)
df['mid_month'] = df['date_of_month'].apply(lambda x: 1 if x >= 11 and x <= 20 else 0)
Какначинающий питон, если вы предпочитаете избегать лямбда-функций, вы можете достичь того же результата, создав функцию и применив ее следующим образом:
def create_date_features(day, min_day, max_day):
if day >= min_day and day <= max_day:
return 1
else:
return 0
df['early_month'] = df['date_of_month'].apply(create_date_features, min_day=1, max_day=10)
df['mid_month'] = df['date_of_month'].apply(create_date_features, min_day=11, max_day=20)