【问题标题】:How to convert a pandas column to datetime data type?如何将熊猫列转换为日期时间数据类型?
【发布时间】:2019-10-25 05:52:43
【问题描述】:

我有一个只有数据类型“对象”的时间戳的数据框。我想将整个数据框转换为日期时间数据类型。此外,我想将所有列转换为 linux 纪元纳秒。所以,我可以在 pca 中使用这个数据框。 enter image description here

【问题讨论】:

    标签: pandas dataframe datetime timestamp


    【解决方案1】:

    示例

    rng = pd.date_range('2017-04-03', periods=3).astype(str)
    time_df = pd.DataFrame({'s': rng, 'a': rng})  
    print (time_df)
               s          a
    0 2017-04-03 2017-04-03
    1 2017-04-04 2017-04-04
    2 2017-04-05 2017-04-05
    

    使用 DataFrame.apply 转换为日期时间,然后通过转换为 numpy 数组,然后转换为整数来转换为原生纪元格式:

    f = lambda x: pd.to_datetime(x, infer_datetime_format=True).values.astype(np.int64)
    #pandas 0.24+
    #f = lambda x: pd.to_datetime(x, infer_datetime_format=True).to_numpy().astype(np.int64)
    time_df = time_df.apply(f) 
    print (time_df)
                         s                    a
    0  1491177600000000000  1491177600000000000
    1  1491264000000000000  1491264000000000000
    2  1491350400000000000  1491350400000000000
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-17
    • 2018-12-08
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 2018-06-06
    相关资源
    最近更新 更多