#pyspark #min
#pyspark #мин
Вопрос:
Я новичок в pyspark и понимаю различные агрегированные функции. Однако они дают только столбец, в котором применяется агрегатная функция. Например, если мой dataframe df равен —
Employee|Age
ABC|23
XYZ|32
Результат, полученный с помощью df.select(min("Age")).show()
—
min(Age)
— 23
Я хочу получить это —
Employee|Age
ABC|23
Ответ №1:
Используйте соединение.
df_data = [
('abc',23),
('def',32)
]
df = spark.createDataFrame(df_data, ['Employee', 'Age'])
df_min_age = df.groupBy().agg(min('Age').alias('Age'))
df_min = df.join(df_min_age, ['Age'], 'inner')
df_min.show()
--- --------
|Age|Employee|
--- --------
| 23| abc|
--- --------