Separate values from date datatype using Pandas

Question:

I wish to separate values from date datatype

Data

time                            ID  
2021-04-16T00:00:00.000-0800    AA
2021-04-23T00:00:00.000-0800    AA
2021-04-30T00:00:00.000-0800    BB

Desired

time        ID  
2021-04-16  AA
2021-04-23  AA
2021-04-30  BB

Doing

df["time"] = df["time"].str.extract(r'(w+)')

Any suggestion is appreciated

Asked By: Lynn

||

Answers:

A possible solution:

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

As @Umar.H suggests — thank you! –, one can use dt.normalize, instead of dt.date, to leave the column time as datetime64:

df['time'] = df['time'].dt.normalize() 

Output:

         time  ID
0  2021-04-16  AA
1  2021-04-23  AA
2  2021-04-30  BB
Answered By: PaulS

Another approach is that, you could split the time column at the ‘T’ character and select the first element.

df['time'] = df['time'].str.split('T').str[0]

Output:

  time        ID
0 2021-04-16  AA
1 2021-04-23  AA
2 2021-04-30  BB
Answered By: Jamiu Shaibu
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.