在两种情况下使用相同的输入,但是从python模块返回不同的结果
这是将结果返回给webservice的python脚本:
import pandas as pd
import sys
def get_segments(dataframe):
dataframe['segment']=dataframe['segment'].astype('str')
segments = dataframe.loc[~dataframe['segment'].duplicated()]['segment']
return segments
def azureml_main(dataframe1 = None, dataframe2 = None):
df = dataframe1
segments = get_segments(df)
segmentCount =segments.size
if (segmentCount > 0) :
res = pd.DataFrame(columns=['segmentId','recommendation'],index=[range(segmentCount)])
i=0
for seg in segments:
d= df.query('segment ==["{}"]'.format(seg)).sort(['count'],ascending=[0])
res['segmentId'][i]=seg
recommendation='['
for index, x in d.iterrows():
item=str(x['ItemId'])
recommendation = recommendation + item + ','
recommendation = recommendation[:-1] + ']'
res['recommendation'][i]= recommendation
i=i+1
else:
res = pd.DataFrame(columns=[seg,pdver],index=[range(segmentCount)])
return res,
在实验中它返回实际的itemIds,在webservice中它返回一些数字
此代码的目的是为了推荐
,逐段逐列答案 0 :(得分:0)
与微软的产品团队讨论后。问题得到了解决。 产品团队首先推出了对Web服务的更新,后来才推出了ML-Studio,它修复了"执行python脚本"中的分类属性问题。 问题出在流程的早期阶段,与上面的python代码无关。