python - 如何检查 pandas DataFrame 中的列值类型

标签 python pandas

我可以使用 df.dtypes 检查列类型,其中 df 是 pandas DataFrame。但是,我的问题有点不同。我有以下数据框:

col1 col2
0    <class 'pandas._libs.tslibs.timestamps.Timestamp'>
1    <class 'pandas._libs.tslibs.timestamps.Timestamp'>
2    <class 'float'>
3    NaN
4    <class 'pandas._libs.tslibs.timestamps.Timestamp'>

df["col2"].dtypes 返回对象

我需要创建一个新列is_timestamp来检查col2值是否是pandas时间戳。为了进行测试,我尝试了以下代码:

isinstance(df_viz["col2"][0], pd._libs.tslibs.timestamps.Timestamp)

但它返回False

预期输出:

col1 col2                                                 col3
0    <class 'pandas._libs.tslibs.timestamps.Timestamp'>   Yes
1    <class 'pandas._libs.tslibs.timestamps.Timestamp'>   Yes
2    <class 'float'>                                      No
3    NaN                                                  No
4    <class 'pandas._libs.tslibs.timestamps.Timestamp'>   Yes

最佳答案

尝试:

df_viz['col3']=(df_viz.col2.transform(lambda x:
  np.where(x==pd._libs.tslibs.timestamps.Timestamp,'Yes','No')))

关于python - 如何检查 pandas DataFrame 中的列值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55493237/

相关文章:

python - 去除 Python 中重复的字母

python - 使用 python,守护进程

python - torch torch .load ModuleNotFoundError : No module named 'utils'

python - 如何优雅地处理请求中的连接错误?

python - Pandas diff SeriesGroupBy 比较慢

python - 将函数应用于 Pandas 数据框中的特定单元格

python - Django 告诉我模板不存在

python - Pandas 从组中获取列的第一个和最后一个值

python - 在 python 中将百分位分布显示为数据框

python-3.x - Pandas 合并返回空数据框