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 快很多。