如何判断pandas数据框中的列是否为日期时间类型?如何判断列是否为数字?

我试图根据它们是否为日期类型来过滤熊猫数据框中的列。我可以弄清楚是哪些,但随后必须解析该输出或手动选择列。我想自动选择日期列。到目前为止,这里是一个示例-

在这种情况下,我只想选择“ date_col”列。

import pandas as pd

df = pd.DataFrame([['Feb-2017', 1, 2],

['Mar-2017', 1, 2],

['Apr-2017', 1, 2],

['May-2017', 1, 2]],

columns=['date_str', 'col1', 'col2'])

df['date_col'] = pd.to_datetime(df['date_str'])

df.dtypes

出:

date_str            object

col1 int64

col2 int64

date_col datetime64[ns]

dtype: object

回答:

熊猫有一个很酷的功能,称为select_dtypes,可以将排除或包含(或两者)作为参数。它根据dtype过滤数据帧。因此,在这种情况下,您将希望包含dtype的列np.datetime64。要按整数过滤,您可以将[np.int64,

np.int32, np.int16, np.int],用于float [np.float32, np.float64, np.float16,

np.float]:,仅按数字列过滤:[np.number]

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

出:

    date_col

0 2017-02-01

1 2017-03-01

2 2017-04-01

3 2017-05-01

在:

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

出:

    col1    col2

0 1 2

1 1 2

2 1 2

3 1 2

以上是 如何判断pandas数据框中的列是否为日期时间类型?如何判断列是否为数字? 的全部内容, 来源链接: utcz.com/qa/399989.html

回到顶部