python - 如何将现有字符串的一部分保存在新列中

标签 python text split

在数据框中,我有一列包含电子邮件列表。我的经理希望我将 @ 之后和 . 之前的名称保留到新列中。 我尝试了以下方法:

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

关于python - 如何将现有字符串的一部分保存在新列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50816777/

相关文章:

python - 在非常大的数据集上在 python 中生成 n 选择 2 种组合

Python 旋转文件处理程序不旋转

python - 如何使 x,y 轴出现在 python matplotlib 中的轴中

text - Notepad++中的 "ANSI as UTF-8"是什么意思?

java - 拆分流并从文本文件放入列表

python - 如何通过 Django 发送电子邮件?

Python:定位文本框固定在角落并正确对齐

cocoa - 有时多行字符串的大小错误

java - 根据文本文件中的名称创建电子邮件地址

java - 在java中使用算术运算符和函数分割字符串