How to remove the date information in a column, just keep time

后端 未结 6 752
情深已故
情深已故 2020-12-19 01:54

I am using pandas dataframe. there is a specific column has time information.

the raw data likes this:

5:15am
5:28am
6:15am

so I ne

相关标签:
6条回答
  • 2020-12-19 02:15

    your_date_df.dt.time

    Lets say that your column with the date ans time is df['arrived_date']:

    0   2015-01-06 00:43:00
    1   2015-01-06 07:56:00
    2   2015-01-06 11:02:00
    3   2015-01-06 11:22:00
    4   2015-01-06 15:27:00
    Name: arrived_date, dtype: datetime64[ns]
    

    Whith pandas, you just need to do:

    df['arrived_time']=df['arrived_date'].dt.time 
    

    The new column df['arrived_time'] will look like this:

    0    00:43:00
    1    07:56:00
    2    11:02:00
    3    11:22:00
    4    15:27:00
    Name: arrived_time, dtype: object
    

    Observe that the new column, df['arrived_time'], is no longer a datetime64 type, the type of the column is just a pandas object

    0 讨论(0)
  • 2020-12-19 02:21

    dataset['TimeStamp']=dataset['TimeStamp'].str.slice(11,18)

    0 讨论(0)
  • 2020-12-19 02:27

    There's a simpler way to do it using pandas, although most, if not all solutions are correct

    df.TimeStamp = pd.to_datetime(df.TimeStamp).dt.strftime('%H:%M')
    
    0 讨论(0)
  • 2020-12-19 02:29

    Since version 0.17.0 you can just do

    dataset['TimeStamp'].dt.time
    

    For versions older than 0.17.0:

    You can just call apply and access the time function on the datetime object create the column initially like this without the need for post processing:

    In [143]:
    
    dataset['TimeStamp'] = pd.to_datetime(dataset['TimeStamp'],format).apply(lambda x: x.time())
    dataset
    Out[143]:
      TimeStamp
    0  05:15:00
    1  05:28:00
    2  06:15:00
    
    0 讨论(0)
  • 2020-12-19 02:34

    The following will convert what you have to datetime.time() objects:

    dataset['TimeStamp'] = pd.Series([val.time() for val in dataset['TimeStamp']])
    

    Output

      TimeStamp
    0  05:15:00
    1  05:28:00
    2  06:15:00
    
    0 讨论(0)
  • 2020-12-19 02:34

    Just use the datetime.time() function

    datetime.time()
    Return time object with same hour, minute, second and microsecond. tzinfo is None. See also method timetz().

    This will return a datetime.time object and you can access the data with the time.hour time.minute and time.second attributes.

    0 讨论(0)
提交回复
热议问题