pyspark - 菜鸟问题 pyspark - 获取所有列的最低/最高工资
问题描述
我是 pyspark 的新手,了解各种聚合函数。但是,它们仅给出应用聚合函数的列。例如,如果我的数据框 df 是 -
Employee|Age
ABC|23
XYZ|32
得出的结果df.select(min("Age")).show()
-
min(Age)
- 23
我想得到这个-
Employee|Age
ABC|23
解决方案
使用连接。
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|
+---+--------+
推荐阅读
- java - 如何在 Java Swing 文本窗格中组合从左到右和从右到左的文本?
- extjs - EXTJS 5:选项卡面板上的自定义 UI 不起作用
- vue.js - 如何在 Nuxt 中导入 vue-full-calendar 作为插件
- ios - 即使注册成功,isRegisteredForRemoteNotifications 也会返回 false
- php - 所有外键都是“空”
- google-apps-script - Google Apps 脚本/插件的域范围授权
- python - 在 python 中使用 map 函数时不期望输出
- git - '203: parsererror' 在 VSTS 上提出拉取请求时
- web - 无法使用 XAMPP 在我的本地系统中设置 redmine
- c# - 如何在 .NET Core 2 中的 [RegularExpression] 中使用变量?