python - 如何根据条件替换 pandas 列中的字符串?

标签 python python-3.x pandas string dataframe

我正在尝试检查列中的值是否为数字并将其替换为其他字符串。我正在使用代码

df["recs"] = ["45", "emp1", "12", "emp3", "emp4", "emp5"]
recomm = df["recs"]
# check if the values in each row of this column a number
recomm = recomm.str.replace(recomm.isdigit(), 'Number')

但是它生成了一个错误

AttributeError: 'Series' object has no attribute 'isdigit'

最佳答案

您可以在此处使用 str.replace 以及正则表达式模式 ^\d+$:

df["recs"] = df["recs"].str.replace(r'^\d+$', 'Number')

模式^\d+$仅针对纯数字的字符串值。

关于python - 如何根据条件替换 pandas 列中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69877911/

相关文章:

javascript - 文本文件如何逐行发送到浏览器

python - pip安装/usr/local/opt/python/bin/python2.7 : bad interpreter: No such file or directory

python - 使用 "while"时删除最后一个字符

python-3.x - Mypy 提示明显的 bool 表达式违反了 [no-any-return] 规则

python - 无法在 Flask sqlalchemy 中反射(reflect)数据库

python - 在嵌套循环中查找 max 的最小索引,键严格位于第 0 个索引

python - 编写excel文件,Python中的.xlsx格式

python - 首先对较高层的数据帧进行排名,然后对较低层的数据帧进行排名

python - 在 django 模板中显示单个表单字段?

python - Pandas 数据帧矢量化采样