Pandas - automatically detect date columns **at run time**

前端 未结 2 1167
清酒与你
清酒与你 2021-01-04 08:19

I was wondering if pandas is capable of automatically detecting which columns are datetime objects and read those columns in as dates instead of strings?

I am looki

2条回答
  •  庸人自扰
    2021-01-04 09:13

    You can avoid a for loop and use the parameter errors='ignore' to avoid modifying unwanted values. In the code below we apply a to_datetime transformation (ignoring errors) on all object columns (other columns are returned as is).

    If ‘ignore’, then invalid parsing will return the input

    df = df.apply(lambda col: pd.to_datetime(col, errors='ignore') 
                  if col.dtypes == object 
                  else col, 
                  axis=0)
    
    df.dtypes
    
    # 0            object
    # 1    datetime64[ns]
    # 2             int64
    

提交回复
热议问题