亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

pyspark 列值是一個列表

pyspark 列值是一個列表

胡說叔叔 2023-08-08 10:22:59
使用包含列的數據框,列中的值是列表,我如何處理這樣的列id    |   values1     |   [1,1,2,4,3,5,6]2     |   [1,2,3,5,6,7,8]....對于每一行,取前三個值并獲取前三個值中的最大值預計為:id  | max_value1   | 22   | 3....
查看完整描述

1 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

您可以使用pyspark 中的slice和array_max函數sql.functions

例如,通過傳遞array_max(slice(values, 1, 3))to?F.expr,您首先是 list(?slice) 并取 max (?array_max)

import pyspark.sql.functions as F

df

.withColumn("max_value", F.expr("array_max(slice(values, 1, 3))"))

.show(truncate=False)


+----------------+-

|id |max_value|

+----------------+-

|1? |2? ? ? |

|2? |3? ? ? |


+----------------+-


查看完整回答
反對 回復 2023-08-08
  • 1 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號