[英]replace part of the string in pandas data frame
我有熊貓數據框,我需要用另一個值替換谷的一部分
例如。 我有
HF - Antartica
HF - America
HF - Asia
其中我想更換任何HF -
部分因此結果將是
Hi Funny Antartica
Hi Funny America
Hi Funny Asia
我試過pd.replace()
但它不起作用,因為我只需要替換字符串的一部分,而不是整個字符串
看來你需要Series.replace
:
print (df)
val
0 HF - Antartica
1 HF - America
2 HF - Asia
print (df.val.replace({'HF -':'Hi'}, regex=True))
0 Hi Antartica
1 Hi America
2 Hi Asia
Name: val, dtype: object
與str.replace
類似的解決方案:
print (df.val.str.replace('HF -', 'Hi'))
0 Hi Antartica
1 Hi America
2 Hi Asia
Name: val, dtype: object
要添加到@jezrael 的答案中,您需要包含regex=True
否則它將直接匹配。 此外,這里它替換了數據框中所有列的值。 如果您不打算這樣做,您可以過濾到一列然后替換。 要替換數據框中的所有值,請嘗試:
df.replace('HF', 'Hi Funny', regex=True)
您還可以提供基於列表的模式和替換值。 此處的文檔中提供了完整的選項集。
所以如果數據框是:
>df = pd.DataFrame({'Column': ['HF - Antartica', 'HF - America', 'HF - Asia']})
>df.replace('HF', 'Hi Funny', regex=True)
應該打印:
Column
0 Hi Funny - Antartica
1 Hi Funny - America
2 Hi Funny - Asia
我想再分享一件非常重要的事情,你可以用空格“.”代替句號“.”。 正常句號
df['label']=df.label.replace({"\. ": "."},regex=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.