【发布时间】:2018-06-12 12:05:14
【问题描述】:
在数据框中,我有一列包含电子邮件列表。我的经理希望我将 @ 之后和 . 之前的名称保留到新列中。
我尝试了以下方法:
DF['newcolumn'] = DF['email'].split("@")[2].split(".")[0]
但它不起作用。 有什么想法吗?
【问题讨论】:
在数据框中,我有一列包含电子邮件列表。我的经理希望我将 @ 之后和 . 之前的名称保留到新列中。
我尝试了以下方法:
DF['newcolumn'] = DF['email'].split("@")[2].split(".")[0]
但它不起作用。 有什么想法吗?
【问题讨论】:
使用以下正则表达式作为分隔符:
df['email'].str.split('@|\.').str[-2]
MVCE:
df = pd.DataFrame({'email':['sjones@abc.com',
'sletters@candy.com',
'kalberts@mail.questinc.com']})
df['email'].str.split('@|\.').str[-2]
输出:
0 abc
1 candy
2 questinc
Name: email, dtype: object
【讨论】: