繁体   English   中英

如何根据条件替换熊猫列中的字符串?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM