2

Datatable 在 R 中很流行,但它也有Python 版本。但是,我在文档中没有看到任何关于在数据表上应用用户定义函数的内容。

这是一个玩具示例(在 pandas 中),其中将用户函数应用于数据帧以查找邮箱地址:

df = pd.DataFrame({'customer':[101, 102, 103],
                   'address':['12 main st', '32 8th st, 7th fl', 'po box 123']})

customer | address
----------------------------
101      | 12 main st
102      | 32 8th st, 7th fl
103      | po box 123


# User-defined function:
def is_pobox(s):
    rslt = re.search(r'^p(ost)?\.? *o(ffice)?\.? *box *\d+', s)
    if rslt:
        return True
    else:
        return False

# Using .apply() for this example:
df['is_pobox'] = df.apply(lambda x: is_pobox(x['address']), axis = 1)

# Expected Output:
customer | address          | rslt
----------------------------|------
101      | 12 main st       | False
102      | 32 8th st, 7th fl| False
103      | po box 123       | True

有没有办法在数据表中执行此 .apply 操作?会很好,因为对于大多数操作来说,datatable 似乎比 pandas 快很多。

4

0 回答 0