【问题标题】:How to convert UTC timestamp string to pandas datetime?如何将 UTC 时间戳字符串转换为 pandas 日期时间?
【发布时间】:2019-03-14 19:25:18
【问题描述】:

我有一个熊猫数据框,其中有一列日期格式如下:

PublishDateTime= 2018-08-31 12:00:00-UTC

我使用 panda to_gbq() 函数将数据转储到 bigquery 表中。在转储数据之前,我确保列的格式与表方案匹配。 publishate 是 bigquery 表中的时间戳。如何实现类似于:

df['PublishDateTime'] = df['PublishDateTime'].astype('?????')

我试过datetime[ns],但没用!

【问题讨论】:

    标签: python pandas date datetime dataframe


    【解决方案1】:

    这里转换的主要挑战是日期时间的格式。将format="%Y-%m-%d %H:%M:%S-%Z" 作为参数传递给pd.to_datetime,并将您的列转换为datetime

    df['PublishDateTime'] = pd.to_datetime(df['PublishDateTime'], 
                                           format='%Y-%m-%d %H:%M:%S-%Z', 
                                           errors='coerce')
    

    【讨论】:

    • @MT467 是的,多亏了errors="coerce" arg。
    • 太棒了!还有一个问题,如何将此字符串转换为 date("2018-08-31") 以便数据类型为 Date 而不是 bigquery 表中的时间戳?
    • @MT467 你可以使用 df[...] = pd.to_datetime(...).date
    • 我收到了这个错误:AttributeError: 'Series' object has no attribute 'date'
    • @MT467 啊抱歉,是.dt.date
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 2012-08-04
    • 2011-06-13
    相关资源
    最近更新 更多