簡體   English   中英

如何為 PySpark 數據框中的新列生成最大值?

[英]How to generate the max values for new columns in PySpark dataframe?

假設我有一個 pyspark 數據框 df。

+---+---+
|  a|  b|
+---+---+
|  1|  2|
|  2|  3|
|  4|  5|
+---+---+

我想添加新列 c。

c 列 = 最大值(0,b 列 - 100)

+---+---+---+
|  a|  b|  c|
+---+---+---+
|  1|200|100|
|  2|300|200|
|  4| 50|  0|
+---+---+---+

我應該如何在 pyspark 數據框中生成新的 c 列? 提前致謝!

希望你看起來像這樣:

from pyspark.sql.functions import col, lit, greatest

df = spark.createDataFrame(
    [
        (1, 200), 
        (2, 300),
        (4, 50),
    ],
    ["a", "b"]  
)
df_new = df.withColumn("c", greatest(lit(0), col("b")-lit(100)))
.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM