![](/img/trans.png)
[英]Why doesn't the python str.strip() method remove the leading characters in this code?
[英]Python str strip also remove wanted characters
我在 dataframe 中有一個名為“Ring”的列,其中一些值只包含一個 integer,一些包含“RING 20”或“RING 30”等。我想去掉“RING”這個詞或任何變體,即大寫或沒有大寫並將 integer 值留在后面。
我嘗試了以下方法,但沒有成功
DF['Ring'] = DF['Ring'].str.strip('RING')
DF['Ring'] = DF['Ring'].str.replace('[RING]')
這些嘗試成功地刪除了不需要的字符串,但是,對於不包含文本字符串的行,它也會刪除 integer 值並留下 NaN。
我該如何解決這個問題?
謝謝你的幫助
您可以在 dataframe 列上使用.apply()
。 在你應用的function中你可以測試該值是否是一個字符串,然后你可以做足夠的處理,否則,按原樣返回。
df["RING"].apply( lambda x: x.strip('RING') if isinstance(x, str) else x )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.