[Python] Extract date and time from pandas timestamp

Discussão em 'Python' iniciado por Stack, Março 26, 2025.

  1. Stack

    Stack Membro Participativo

    I have a timestamp column where the timestamp is in the following format

    2016-06-16T21:35:17.098+01:00


    I want to extract date and time from it. I have done the following:

    import datetime as dt

    df['timestamp'] = df['timestamp'].apply(lambda x : pd.to_datetime(str(x)))

    df['dates'] = df['timestamp'].dt.date


    This worked for a while. But suddenly it does not.

    If I again do df['dates'] = df['timestamp'].dt.date I get the following error

    Can only use .dt accessor with datetimelike values


    Luckily, I have saved the data frame with dates in the csv but I now want to create another column time in the format 23:00:00.051

    EDIT

    From the raw data file (15 million samples), the timestamp column looks like following (first 5 samples):

    timestamp

    0 2016-06-13T00:00:00.051+01:00
    1 2016-06-13T00:00:00.718+01:00
    2 2016-06-13T00:00:00.985+01:00
    3 2016-06-13T00:00:02.431+01:00
    4 2016-06-13T00:00:02.737+01:00


    After the following command

    df['timestamp'] = df['timestamp'].apply(lambda x : pd.to_datetime(str(x)))


    the timestamp column looks like with dtype as dtype: datetime64[ns]

    0 2016-06-12 23:00:00.051
    1 2016-06-12 23:00:00.718
    2 2016-06-12 23:00:00.985
    3 2016-06-12 23:00:02.431
    4 2016-06-12 23:00:02.737


    Then finally

    df['dates'] = df['timestamp'].dt.date

    0 2016-06-12
    1 2016-06-12
    2 2016-06-12
    3 2016-06-12
    4 2016-06-12


    EDIT 2

    Found the mistake. I had cleaned the data and saved the data frame in a csv file, so I don't have to do the cleaning again. When I read the csv, the timestamp dtype changes to object. Now how do I fix this?

    Continue reading...

Compartilhe esta Página