I have no idea to extract domain part from email address with pandas. In case if it is 'kkk@gmail.com' I would like to get 'gmail.com'.
Please give me an idea.
I have no idea to extract domain part from email address with pandas. In case if it is 'kkk@gmail.com' I would like to get 'gmail.com'.
Please give me an idea.
I believe you need split and select second value of lists by indexing:
df = pd.DataFrame({'email':['kkk@gmail.com','aa@yahoo.com']})
df['domain'] = df['email'].str.split('@').str[1]
#faster solution if no NaNs values
#df['domain'] = [x.split('@')[1] for x in df['email']]
print (df)
email domain
0 kkk@gmail.com gmail.com
1 aa@yahoo.com yahoo.com
This can also be done using lambda function.
df = pd.DataFrame({'email':['aaa@gmail.com','bbb@yahoo.com', 'ccc@aol.com']})
df['domain'] = df['email'].apply(lambda x: x.split('@')[1])