Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python数据表(不是dataframe)上应用用户定义的函数?_Python_Py Datatable - Fatal编程技术网

在python数据表(不是dataframe)上应用用户定义的函数?

在python数据表(不是dataframe)上应用用户定义的函数?,python,py-datatable,Python,Py Datatable,Datatable在R中很流行,但它也有一个。但是,我在文档中没有看到在datatable上应用用户定义函数的任何内容 以下是一个玩具示例(在熊猫中),其中用户函数应用于数据帧以查找邮政信箱地址: df=pd.DataFrame({'customer':[101102103], ‘地址’:[‘主大街12号’、‘第八大街32号、第七层’、‘邮政信箱123’]} 客户地址 ---------------------------- 101 | 12主街 102 | 32第8街,第7层 103 |邮政信

Datatable在R中很流行,但它也有一个。但是,我在文档中没有看到在datatable上应用用户定义函数的任何内容

以下是一个玩具示例(在熊猫中),其中用户函数应用于数据帧以查找邮政信箱地址:

df=pd.DataFrame({'customer':[101102103],
‘地址’:[‘主大街12号’、‘第八大街32号、第七层’、‘邮政信箱123’]}
客户地址
----------------------------
101 | 12主街
102 | 32第8街,第7层
103 |邮政信箱123
#用户定义的功能:
def为POU箱:
rslt=重新搜索(r'^p(ost)\.?*o(办公室)\.?*框*\d+,s)
如果rslt:
返回真值
其他:
返回错误
#在此示例中使用.apply():
df['is_pobox']=df.apply(λx:is_pobox(x['address']),axis=1)
#预期产出:
客户|地址| rslt
----------------------------|------
101 | 12主街|假
102 | 32第8街,第7层|假
103 |邮政信箱123 |正确

有没有办法做到这一点。在datatable中应用操作?会很好,因为对于大多数操作,datatable似乎比pandas快很多。

支持此类功能还有一个悬而未决的问题。您可以竖起大拇指并订阅,以便在实现该功能时收到通知。还请注意,您的示例可以在不使用UDF的情况下实现:
DT[“is\u pobox”]=f.address.re\u match(r'^p(ost)\.?*o(office)\.?*box*\d+)
还请注意
datatable.FExper.re\u match()
自0.11起标记为已弃用:自1.0版起,此功能将在
re.
子模块中提供。支持此功能存在一个未决问题。您可以竖起大拇指并订阅,以便在实现该功能时收到通知。还请注意,您的示例可以在不使用UDF的情况下实现:
DT[“is\u pobox”]=f.address.re\u match(r'^p(ost)\.?*o(office)\.?*box*\d+)
还请注意
datatable.FExper.re\u match()
自0.11起标记为已弃用:自1.0版起,此功能将在
re.
子模块中提供。