簡體   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