Hello Guys, How are you all? Hope You all Are Fine. Today We Are Going To learn about How do I tell if a column in a pandas dataframe is of type datetime? How do I tell if a column is numerical in Python. So Here I am Explain to you all the possible Methods here.
Without wasting your time, Let’s start This Article.
How do I tell if a column in a pandas dataframe is of type datetime? How do I tell if a column is numerical?
- How do I tell if a column in a pandas dataframe is of type datetime? How do I tell if a column is numerical?
- tell if a column in a pandas dataframe is of type datetime? How do I tell if a column is numerical
I just encountered this issue and found that answer isn’t quite general enough for my use case. In particular
np.datetime64 doesn’t seem to match
df['date_col'] = pd.to_datetime(df['date_str'], utc=True) print(df.date_str.dtype) # datetime64[ns, UTC]
You could also extend the list of dtypes to include other types, but that doesn’t seem like a good solution for future compatability, so I ended up using the
is_datetime64_any_dtype function from the pandas api instead.
from pandas.api.types import is_datetime64_any_dtype as is_datetime df[[column for column in df.columns if is_datetime(df[column])]]
date_col 0 2017-02-01 00:00:00+00:00 1 2017-03-01 00:00:00+00:00 2 2017-04-01 00:00:00+00:00 3 2017-05-01 00:00:00+00:00
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:
date_col 0 2017-02-01 1 2017-03-01 2 2017-04-01 3 2017-05-01
col1 col2 0 1 2 1 1 2 2 1 2 3 1 2
It’s all About this issue. Hope all Methods helped you a lot. Comment below Your thoughts and your queries. Also, Comment below which Method worked for you? Thank You.