Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tam olarak bir Column satır ve bir sütun içeren bir SCALAR Alt Sorgusu için bir nesne döndürür.
Sözdizimi
scalar()
İadeler
Column
Column: SCALAR alt sorgularını temsil eden nesne.
Notlar
scalar() yöntemi, özellikle DataFrame bir Column toplama veya tek değerli hesaplamadan elde edildiğinde, DataFrame'den skaler değeri temsil eden bir nesneyi ayıklamak için kullanışlıdır.
Column Döndürülen bu değer daha sonra doğrudan yan tümcelerde select veya dış DataFrame'deki filtrelerde koşul olarak kullanılabilir ve dinamik veri filtrelemeyi ve skaler değerlere dayalı hesaplamaları etkinleştirir.
Örnekler
data = [
(1, "Alice", 45000, 101), (2, "Bob", 54000, 101), (3, "Charlie", 29000, 102),
(4, "David", 61000, 102), (5, "Eve", 48000, 101),
]
employees = spark.createDataFrame(data, ["id", "name", "salary", "department_id"])
from pyspark.sql import functions as sf
employees.where(
sf.col("salary") > employees.select(sf.avg("salary")).scalar()
).select("name", "salary", "department_id").orderBy("name").show()
# +-----+------+-------------+
# | name|salary|department_id|
# +-----+------+-------------+
# | Bob| 54000| 101|
# |David| 61000| 102|
# | Eve| 48000| 101|
# +-----+------+-------------+
employees.alias("e1").where(
sf.col("salary")
> employees.alias("e2").where(
sf.col("e2.department_id") == sf.col("e1.department_id").outer()
).select(sf.avg("salary")).scalar()
).select("name", "salary", "department_id").orderBy("name").show()
# +-----+------+-------------+
# | name|salary|department_id|
# +-----+------+-------------+
# | Bob| 54000| 101|
# |David| 61000| 102|
# +-----+------+-------------+