python - 如何检查数据框中的列是否等于 Pandas 中的某种数据类型?

标签 python pandas

我需要将所有属于数据类型对象的列转换为字符串。

为简单起见,列标题如下:

keys= [Name, Age, Passport, Date, Location, Height]

“名称”和“位置”是对象类型。我需要确定这些列是对象类型,并将这些列转换为字符串。

我尝试编写的循环:

while variable_1 < len(keys):
  if df[variable_1].dtypes == object:
    df[variable_1] = df[variable_1].astype(str)
    variable_1 = variable_1 + 1

这是一个明显的错误,我有点被语法困住了。

最佳答案

我不确定您为什么要这样做,但方法如下:

object_columns = (df.dtypes == numpy.object)
df.loc[:, object_columns] = df.loc[:, object_columns].astype(str)

如果你曾经在 Pandas 中使用过循环,99% 的人肯定是做错了。

关于python - 如何检查数据框中的列是否等于 Pandas 中的某种数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44934206/

相关文章:

python - 跨多个进程和模块共享的全局可修改对象

Python 插件系统 - HOWTO

python - 我有一个带有列表的 Pandas 专栏。对包含同一列中至少一个公共(public)元素的行进行分组

Python Pandas : Why is numpy so much faster than Pandas for column assignment? 我可以进一步优化吗?

python - 如何让 panda 的 "update"函数覆盖一列中的数字而不覆盖另一列中的数字?

python - 在 Pandas 中使用 Where 条件分组

python - 为什么这个 python 代码只产生最后的结果

python - 使用python过滤磁盘上的文件

Python Pandas - 具有不同列的 Concat 数据框忽略列名

python - Pandas Groupby - 命名聚合输出列