我正在尝试检查特定域在我的熊猫数据框中是否有效,这是一个示例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