Pandas PyU UDF错误,参数无效,不是字符串或列

Pandas PyU UDF错误,参数无效,不是字符串或列,pandas,pyspark,user-defined-functions,sklearn-pandas,Pandas,Pyspark,User Defined Functions,Sklearn Pandas,我创建了一个Pandas UDF,它将输入一个数据帧,预测并输出一个关于主键和预测的数据帧 schema=StructType([StructField('primary_id',IntegerType()), StructField('prediction',FloatType())]) @pandasuudf(模式,PandasUDFType.GROUPED\u映射) def应用模式(示例df): #在分区数据集上运行模型 ids=样本_df['primary_id'] x_列=样本方向下

我创建了一个Pandas UDF,它将输入一个数据帧,预测并输出一个关于主键和预测的数据帧


schema=StructType([StructField('primary_id',IntegerType()),
StructField('prediction',FloatType())])
@pandasuudf(模式,PandasUDFType.GROUPED\u映射)
def应用模式(示例df):
#在分区数据集上运行模型
ids=样本_df['primary_id']
x_列=样本方向下降(['primary_id','partition_id',],axis=1)
pred=模型广播值预测概率(x列车)
返回pd.DataFrame({'primary_id':id,'prediction':pred[:,1]})
示例_df-是输入数据帧

当我测试代码时,代码运行良好,如下所示:

a=apply_model.func(df)
输出a.dtypes正在提供

预测浮动64 主id int64

运行以下代码时:

results=df.groupby('partition\u id').apply(apply\u model)
上述语句因错误而失败:

TypeError: Invalid argument, not a string or column:
[26 rows x 32 columns] of type <class 'pandas.core.frame.DataFrame'>. For column literals, use 'lit', 'array', 'struct' or 'create_map' function.
TypeError:参数无效,不是字符串或列:
类型的[26行x 32列]。对于列文字,请使用“lit”、“array”、“struct”或“create_map”函数。

上一个代码片段中的
df
可能是一个数据帧吗?它应该是一个PySpark数据框架,这样代码才能工作;熊猫UDF将应用于Spark