首页 > 解决方案 > 使用域名对数据框列中的电子邮件进行排序

问题描述

for i in emails:
    if emails.str.contains(pat='@gent.edu')=="True":
        needac.append(i)

我正在尝试使用电子邮件域“@gent.edu”在我的单列数据框(电子邮件)中整理包含电子邮件地址的列,但我不断收到此错误“ValueError:系列的真值不明确。使用 a.空、a.bool()、a.item()、a.any() 或 a.all()。”

标签: pythonpandas

解决方案


我可以通过使用这段代码来解决这个问题

f.dropna()

mail_list = []
pattern = r'.(@gent\.edu)'
for i in list(f):
    matched = re.search(pattern, i)
    if matched:
        mail_list.append(i)

不使用 dropna 方法运行此代码将给出错误:“TypeError: expected string or bytes-like object”

该模式必须在点符号之前包含一个反斜杠,因为点符号在 python re 库中具有含义。


推荐阅读