Python 3.x 如何将以下内容转换为pyspark 2.4?

Python 3.x 如何将以下内容转换为pyspark 2.4?,python-3.x,pyspark,Python 3.x,Pyspark,我无法在Python3-spark 2.4中运行以下代码。请告知 AGG_rdd = AGG.select('luid', array(varFreq_list).alias('p')) \ .rdd.map(lambda r: \ (r.luid, map(lambda x: min(x, 9999.999), \ np.dot(map(min, zip(r.p, cap_list_bc.value)), eqn_matrix_bc.value).tolist() ) )

我无法在Python3-spark 2.4中运行以下代码。请告知

  AGG_rdd = AGG.select('luid', array(varFreq_list).alias('p')) \
  .rdd.map(lambda r: \
  (r.luid, map(lambda x: min(x, 9999.999), \
  np.dot(map(min, zip(r.p, cap_list_bc.value)), eqn_matrix_bc.value).tolist() 
  ) ))
对不起,我不知道怎么换。我试过这个:

  AGG_rdd = AGG.select('luid', array(varFreq_list).alias('p')) \
    .list(rdd.map(lambda r: \
    (r.luid, list(map(lambda x: min(x, 9999.999), \
    np.dot(list(map(min, zip(r.p, cap_list_bc.value))), 
    eqn_matrix_bc.value)).tolist() ) ))

请试试这个,python 2和python 3有点不同。我和康比基也有同样的问题

AGG_rdd = AGG.select('luid', array(varFreq_list).alias('p')) \
 .rdd.map(lambda r: \
         (r.luid, [min(x, 9999.999) for x in np.dot(list(map(min, list(zip(r.p, cap_list_bc.value)))), eqn_matrix_bc.value).tolist()] ))

欢迎来到SO。请添加您正在获取的错误。类型错误:不支持的操作数类型*:“map”和“float”错误来自更改的代码:AttributeError AttributeError:“DataFrame”对象没有属性“list”尝试以下操作:AGG\u rdd=AGG.select('luid',array(varFreq\u list)。别名('p')\.rdd.map(lambda r:\(r.luid,[min(x,9999.999)对于np.dot中的x(list(map(min,list(zip(r.p,cap_list_bc.value))),eqn_matrix_bc.value)。tolist())没有数据和定义,所以看看它是否有效,如果有效,我将发布一个答案。