我有這樣的資料框:
column_1 column_2 column_3
[1,3] [2] 2
[1,2,3] null 1
[3,4] [6] 1
我想將 column_2 的值附加到 column_1 如果它不為 null 和 del column_2。
期望的輸出:
column_1 column_3
[1,3,2] 2
[1,2,3] 1
[3,4,6] 1
uj5u.com熱心網友回復:
- 如果 column_2 為空,則回傳 column_1
- 否則,將 column_1 與 column_2 聯合使用
array_union
from pyspark.sql import functions as F
df = spark.createDataFrame(
[([1,3], [2], 2),
([1,2,3], None, 1),
([3,4], [6], 1)],
['column_1', 'column_2', 'column_3']
)
df = df.select(
F.when(F.col('column_2').isNull(), F.col('column_1')).otherwise(F.array_union('column_1', 'column_2')).alias('column_1'),
'column_3'
)
df.show()
# --------- --------
# | column_1|column_3|
# --------- --------
# |[1, 3, 2]| 2|
# |[1, 2, 3]| 1|
# |[3, 4, 6]| 1|
# --------- --------
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/488042.html
