Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Data Science by (17.6k points)

I'm trying to extract year/date/month info from the 'date' column in the pandas dataframe. Here is my sample code:

from datetime import datetime

def date_split(calendar):

  for row in calendar: 

    new_calendar={}

    listdate=datetime.strptime(row['date'],'%Y-%M-%D')

I haven't finished the complete code, but when I test run this part I keep getting error like this:

----> 7         listdate=datetime.strptime(row['date'],'%Y-%M-%D')

TypeError: string indices must be integers

Anyone has any idea?

Btw, this is the dataframe I use (calendar_data):

enter image description here

1 Answer

0 votes
by (41.4k points)

ANSWER

To extract day/year/month from pandas dataframe, use to_datetime as depicted in the below code:

print (df['date'].dtype)

object

 

df['date'] = pd.to_datetime(df['date'])

 

print (df['date'].dtype)

Datetime64[ns]

For extracting year,month and day to new column,follow the code:

df['year'] = df['date'].dt.year

df['month'] = df['date'].dt.month

df['day'] = df['date'].dt.day

If you wish to learn more about Python, visit Python tutorial and Python course by Intellipaat.

Browse Categories

...