I have a column of dates in the format 2010-01-31. I can extract the year using
#extracting year year = df["date"].values year = [my_str.split("-")[0] for my_str in year] df["year"] = year I'm trying to get the month, but I don't understand how to get it on the second split.
14 Answers
import datetime a = '2010-01-31' datee = datetime.datetime.strptime(a, "%Y-%m-%d") datee.month Out[9]: 1 datee.year Out[10]: 2010 datee.day Out[11]: 31 4Alternate solution
Create a column that will store the month:
data['month'] = data['date'].dt.month Create a column that will store the year:
data['year'] = data['date'].dt.year 1>>> a='2010-01-31' >>> a.split('-') ['2010', '01', '31'] >>> year,month,date=a.split('-') >>> year '2010' >>> month '01' >>> date '31' 2if you use datetime, you can simply add .month at the end of the datetime method
>>> from datetime import datetime, date, time, timedelta, timezone >>> datetime.now() datetime.datetime(2022, 1, 3, 11, 33, 16, 609052) >>> datetime.now().date() datetime.date(2022, 1, 3) >>> datetime.now().date().month 1 1