将validators.domain函数应用于pandas列中的值列表

时间:2019-06-19 16:00:27

标签: python python-3.x pandas

我正在尝试检查特定域在我的熊猫数据框中是否有效,这是一个示例df:

   Name          Domains 
dornerworks   'dornerworks.com, iot.dornerworks.cloud'
hebcoinc      'hebcoinc.com, .hepcoinc.com'
mega-tech     'mega-tech.com'

验证器:

new_df = old_df[old_df['Domain'].apply(lambda x: print(validators.domain(str(x))) == True)]

这对于其中只有一个域的行有效,并且它们的值为True并停留在数据框中,但是对于其中具有多个域的行,它将引发此错误:

ValidationFailure(func=domain, args={'value': 'hebcoinc.com, .hepcoinc.com'})

我有一种感觉,因为validators.domain(str(x))无法遍历具有多个值的行,如果列中的每个值都不止一个,我如何将(validators.domain(str(x))应用于列中的每个值?

我尝试做:

new_df = old_df[old_df['Domain'].apply(lambda x: validators.domain(str(v) for v in x) is True)]

但是我得到了

TypeError: expected string or bytes-like object

这是指向软件包源的链接,sparse

0 个答案:

没有答案