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.
Ord parametresindeki en büyük değerle ilişkili olan sütun (col) parametresinden değeri döndürür. Bu işlev genellikle groupBy() ile kullanıldığında her gruptaki en büyük ord parametre değerine karşılık gelen sütun parametre değerini bulmak için kullanılır. İşlev belirleyici değildir, bu nedenle çıkış sırası aynı sütun değerleriyle ilişkili olanlar için farklı olabilir.
Sözdizimi
from pyspark.sql import functions as sf
sf.max_by(col, ord)
Parametreler
| Parametre | Türü | Description |
|---|---|---|
col |
pyspark.sql.Column veya sütun adı |
Döndürülecek değerleri temsil eden sütun. Bu, sütun örneği veya dize olarak sütun adı olabilir. |
ord |
pyspark.sql.Column veya sütun adı |
En üst düzeye çıkarılması gereken sütun. Bu, sütun örneği veya dize olarak sütun adı olabilir. |
İade
pyspark.sql.Column: öğesinden gelen col en büyük değerle ilişkili olan değerini ordtemsil eden bir sütun nesnesi.
Örnekler
Örnek 1: groupBy ile max_by kullanma
import pyspark.sql.functions as sf
df = spark.createDataFrame([
("Java", 2012, 20000), ("dotNET", 2012, 5000),
("dotNET", 2013, 48000), ("Java", 2013, 30000)],
schema=("course", "year", "earnings"))
df.groupby("course").agg(sf.max_by("year", "earnings")).sort("course").show()
+------+----------------------+
|course|max_by(year, earnings)|
+------+----------------------+
| Java| 2013|
|dotNET| 2013|
+------+----------------------+
Örnek 2: Farklı veri türleriyle max_by kullanma
import pyspark.sql.functions as sf
df = spark.createDataFrame([
("Marketing", "Anna", 4), ("IT", "Bob", 2),
("IT", "Charlie", 3), ("Marketing", "David", 1)],
schema=("department", "name", "years_in_dept"))
df.groupby("department").agg(
sf.max_by("name", "years_in_dept")
).sort("department").show()
+----------+---------------------------+
|department|max_by(name, years_in_dept)|
+----------+---------------------------+
| IT| Charlie|
| Marketing| Anna|
+----------+---------------------------+
Örnek 3: Ord'un birden çok maksimum değeri olduğu max_by kullanma
import pyspark.sql.functions as sf
df = spark.createDataFrame([
("Consult", "Eva", 6), ("Finance", "Frank", 5),
("Finance", "George", 9), ("Consult", "Henry", 7)],
schema=("department", "name", "years_in_dept"))
df.groupby("department").agg(
sf.max_by("name", "years_in_dept")
).sort("department").show()
+----------+---------------------------+
|department|max_by(name, years_in_dept)|
+----------+---------------------------+
| Consult| Henry|
| Finance| George|
+----------+---------------------------+