【发布时间】:2019-03-10 04:56:15
【问题描述】:
我有一个 DataFrame[user: int, recommendations: array<struct<item:int,rating:float>>] 类型的数据框 (pyspark.sql.dataframe.DataFrame)user_recs。
我想为每个用户选择最好的rating 及其对应的item。
例如,对于用户号471,我有以下行
user_recs.where(user_recs.user == 471).select("recommendations.item", "recommendations.rating").collect()
>>>[Row(item=[0, 23, 4], rating=[0.005226806737482548, 0.0044402251951396465, 0.004139747936278582])]
我希望结果是一个类似于user_recs 但具有最高评分的数据框。我希望 item 数字为 0,因为它的最佳评级为 0.005*。 (评级也将包含在数据框中。
【问题讨论】:
标签: python dataframe lambda pyspark