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