![](/img/trans.png)
[英]Replace value in Pandas DataFrame column, based on a condition (contains a string)
[英]How to replace a string in pandas column based on a condition?
我试图检查列中的值是否为数字并将它们替换为其他字符串。 我正在使用代码
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+$
仅针对纯数字的字符串值。
我更喜欢没有正则表达式和mask
:
df['recs'] = df['recs'].mask(df['recs'].str.isdigit(), 'Number')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.