如何判断pandas数据框中的列是否为日期时间类型?如何判断列是否为数字?
我试图根据它们是否为日期类型来过滤熊猫数据框中的列。我可以弄清楚是哪些,但随后必须解析该输出或手动选择列。我想自动选择日期列。到目前为止,这里是一个示例-
在这种情况下,我只想选择“ date_col”列。
import pandas as pddf = 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 objectcol1 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_col0 2017-02-01
1 2017-03-01
2 2017-04-01
3 2017-05-01
在:
df.select_dtypes(include=[np.number])
出:
col1 col20 1 2
1 1 2
2 1 2
3 1 2
以上是 如何判断pandas数据框中的列是否为日期时间类型?如何判断列是否为数字? 的全部内容, 来源链接: utcz.com/qa/399989.html