代码之家  ›  专栏  ›  技术社区  ›  Stacey

将dataframe列设置为在列中有空白时键入datetime

  •  0
  • Stacey  · 技术社区  · 6 年前

    df )头上有两根柱子

        name                start                  end   
    0   John  2018-11-09 00:00:00  2012-03-01 00:00:00
    1  Steve  1990-09-03 00:00:00  
    2   Debs  1977-09-07 00:00:00  2012-07-02 00:00:00
    3  Mandy                       2009-01-09 00:00:00
    4  Colin  1993-08-22 00:00:00  2002-06-03 00:00:00
    

    start end object . 我想把型号改成 datetime 所以我可以使用以下方法:

    referenceError = DeptTemplate['start'] > DeptTemplate['end']
    

    df['start'].dt.strftime('%d/%m/%Y') 
    df['end'].dt.strftime('%d/%m/%Y') 
    

    但我认为有些行的列中没有日期,这就造成了问题。如何设置任何空白值,以便将类型更改为日期时间并运行分析?

    1 回复  |  直到 4 年前
        1
  •  0
  •   Charles Landau    6 年前

    如图所示 .to_datetime docs errors 夸克。也可以设置 strftime 格式化 format 夸克。

    # Bad values will be NaT
    df["start"] = pd.to_datetime(df.start, errors='coerce', format='%d/%m/%Y')
    

    正如评论中提到的,您可以使用 replace 如果你一定要用strftime。