我有熊貓數據幀,其中我需要用另一個值替換一部分的值替換熊貓數據幀中的部分字符串
例如。我有
HF - Antartica
HF - America
HF - Asia
外面我想更換ONY的HF -
部分 因此結果將是
Hi Funny Antartica
Hi Funny America
Hi Funny Asia
我已經試過pd.replace(),但它不工作,因爲我需要字符串的只是其中的一部分替換,而不是整個字符串
我有熊貓數據幀,其中我需要用另一個值替換一部分的值替換熊貓數據幀中的部分字符串
例如。我有
HF - Antartica
HF - America
HF - Asia
外面我想更換ONY的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)
你也可以提供一個基於列表模式和替換值。文檔here提供了完整的選項集。
因此,如果數據幀是:
>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
可以顯示數據幀的聲明? – RomanPerekhrest