How do I tell if a column in a pandas dataframe is of type datetime? How do I tell if a column is numerical?

前端 未结 5 1920
情书的邮戳
情书的邮戳 2020-12-30 18:58

I am trying to filter the columns in a pandas dataframe based on whether they are of type date or not. I can figure out which ones are, but then would have to parse that ou

5条回答
  •  [愿得一人]
    2020-12-30 19:34

    Pandas has a cool function called select_dtypes, which can take either exclude or include (or both) as parameters. It filters the dataframe based on dtypes. So in this case, you would want to include columns of dtype np.datetime64. To filter by integers, you would use [np.int64, np.int32, np.int16, np.int], for float: [np.float32, np.float64, np.float16, np.float], to filter by numerical columns only: [np.number].

    df.select_dtypes(include=[np.datetime64])
    

    Out:

        date_col
    0   2017-02-01
    1   2017-03-01
    2   2017-04-01
    3   2017-05-01
    

    In:

    df.select_dtypes(include=[np.number])
    

    Out:

        col1    col2
    0   1       2
    1   1       2
    2   1       2
    3   1       2
    

提交回复
热议问题