在Pyspark DataFrame中,可以通过计算现有列的比率来创建新列。具体步骤如下:
from pyspark.sql import SparkSession
from pyspark.sql.functions import col
spark = SparkSession.builder.getOrCreate()
data = [(1, 10, 20), (2, 15, 25), (3, 20, 30)]
df = spark.createDataFrame(data, ["id", "numerator", "denominator"])
这里的data是一个包含三个元组的列表,每个元组表示一行数据,其中第一个元素是id,第二个元素是分子,第三个元素是分母。["id", "numerator", "denominator"]是DataFrame的列名。
df = df.withColumn("ratio", col("numerator") / col("denominator"))
这里使用col()函数来引用DataFrame中的列,通过除法运算符计算比率,并将结果存储在名为"ratio"的新列中。
df.show()
输出结果如下:
+---+---------+-----------+-----+
|id |numerator|denominator|ratio|
+---+---------+-----------+-----+
|1 |10 |20 |0.5 |
|2 |15 |25 |0.6 |
|3 |20 |30 |0.67 |
+---+---------+-----------+-----+
这样就成功在Pyspark DataFrame中创建了一个新列,该新列存储了现有列的比率。
推荐的腾讯云相关产品和产品介绍链接地址:
DB TALK 技术分享会
Elastic Meetup
《民航智见》线上会议
云+社区技术沙龙[第9期]
Elastic 实战工作坊
Elastic 实战工作坊
云+社区技术沙龙[第27期]
云+社区技术沙龙[第11期]
领取专属 10元无门槛券
手把手带您无忧上云