我有一個包含電子郵件地址的數據框。我需要用'.mn'來代替電子郵件地址的每一個結尾。我的意思是結束 '.ORG', '.COM' 等如何用熊貓中的另一個字符串替換部分電子郵件地址?
Ex. [email protected] becomes [email protected]
不知道我做錯了。
這是我到目前爲止,但這不是更換或給我的錯誤信息:
email['ADDR'] = email['ADDR'].str.replace(r'[.]{2,}', '.mn')
預先感謝您。
我有一個包含電子郵件地址的數據框。我需要用'.mn'來代替電子郵件地址的每一個結尾。我的意思是結束 '.ORG', '.COM' 等如何用熊貓中的另一個字符串替換部分電子郵件地址?
Ex. [email protected] becomes [email protected]
不知道我做錯了。
這是我到目前爲止,但這不是更換或給我的錯誤信息:
email['ADDR'] = email['ADDR'].str.replace(r'[.]{2,}', '.mn')
預先感謝您。
這應該這樣做:
email['ADDR'] = email['ADDR'].str.replace('.{3}$', 'mn')
如果您需要處理可變長度域(.edu
,.com1
,等等),你可以使用:
email
ADDR
0 [email protected]
1 [email protected]
2 [email protected]
email['ADDR'].str.replace('\..{2,}$', '.mn')
0 [email protected]
1 [email protected]
2 [email protected]
Name: ADDR, dtype: object
另一種方法,將處理可變長度的頂級結局使用str.rsplit
:
In[72]:
df = pd.DataFrame({'email':['[email protected]','[email protected]','[email protected]']})
df
Out[72]:
email
0 [email protected]
1 [email protected]
2 [email protected]
In[73]:
df['email'] = df['email'].str.rsplit('.').str[0] +'.mn'
df
Out[73]:
email
0 [email protected]
1 [email protected]
2 [email protected]
這將找到最後的結尾點,採取左側並追加新的期望後綴
嗯,不錯和簡單。 –
嘿,這工作得很好!非常感謝 – RustyShackleford
只要打開這個問題,有你的好和簡潔的答案〜 – Wen
嘿謝謝你這工作 – RustyShackleford