I made the func for apply as below:
def NewMonth(x):
if x == 1 or 2:
return 1
elif x == 3 or 4:
return 2
elif x == 5:
return 3
elif x == 6:
return 4
elif x == 7 or 8:
return 5
elif x == 9 or 10:
return 6
elif x == 11 or 12:
return 7
df_train.apply(lambda y: NewMonth(y['month']), axis=1)
However, all the output I got is '1' among 10,000 row. I can't find what is wrong with my NewMonth func.