在 PySpark 中获得布尔列的平均值可以通过以下步骤实现:
布尔列通常表示为 True
或 False
,在 PySpark 中,布尔列实际上是整数类型的 1
和 0
。因此,计算布尔列的平均值实际上就是计算这些整数的平均值。
布尔列在 PySpark 中通常表示为 BooleanType
。
布尔列的平均值常用于评估某个条件在数据集中的满足程度,例如评估某个特征的存在频率。
以下是一个示例代码,展示如何在 PySpark 中计算布尔列的平均值:
from pyspark.sql import SparkSession
from pyspark.sql.functions import avg
# 创建 SparkSession
spark = SparkSession.builder.appName("BooleanColumnAverage").getOrCreate()
# 创建示例 DataFrame
data = [(True,), (False,), (True,), (True,), (False,)]
columns = ["is_active"]
df = spark.createDataFrame(data, columns)
# 计算布尔列的平均值
average_value = df.select(avg(df["is_active"].cast("int")).alias("average_is_active")).collect()[0]["average_is_active"]
print(f"布尔列的平均值是: {average_value}")
cast("int")
将布尔列转换为整数类型。avg
函数计算平均值。collect()
获取结果并打印。通过上述步骤,你可以轻松地在 PySpark 中计算布尔列的平均值。
领取专属 10元无门槛券
手把手带您无忧上云