【问题标题】:%H:%M:%S.%f format is not consistant in my pandas dataframe%H:%M:%S.%f 格式在我的熊猫数据框中不一致
【发布时间】:2020-04-02 02:41:23
【问题描述】:

我有以下代码: y_df['TimeFormat'] = pd.to_datetime(x_df['Time'], format='%H:%M:%S.%f')) 但问题是 x_df['Time'] 的格式并不总是 %H:%M:%S.%f。这意味着它的格式有时是 %H:%M:%S。我可以轻松地删除格式并让 python 完成它的工作。但是,这将显着增加计算时间。我想知道是否有一种方法可以自动将 x_df['Time'] 的所有实例转换为上述格式。

【问题讨论】:

标签: python pandas dataframe datetime time


【解决方案1】:

尝试使用dateutil,它可以自动从不同的字符串创建日期时间对象:

from dateutil.parser import parse 

parse('12:03:24')                                                                                                                                                                                 
# datetime.datetime(2019, 12, 8, 12, 3, 24)

parse('12:03:24.0003')                                                                                                                                                                            
# datetime.datetime(2019, 12, 8, 12, 3, 24, 300)

您可以从 datetime 时间戳转换为 pandas 时间戳:

pd.Timestamp(datetime.datetime(2019, 12, 8, 12, 3, 24, 300))                                                                                                                                      
# Timestamp('2019-12-08 12:03:24.000300')

pd.Timestamp(parse('12:03:24'))
# Timestamp('2019-12-08 12:03:24')

pd.Timestamp(parse('12:03:24.3333'))
#  Timestamp('2019-12-08 12:03:24.333300')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2021-10-11
    • 2019-01-01
    • 2022-12-06
    • 2016-10-15
    相关资源
    最近更新 更多