如何使用pyspark dataframe找到另一列的最大值和平均值的id?
df
:
+-------------+-------+----------+---------+----------+--------+------+------------------+
|ChargingEvent| CPID| StartDate|StartTime| EndDate| EndTime|Energy| PluginDuration|
+-------------+-------+----------+---------+----------+--------+------+------------------+
| 16673806|AN11719|2017-12-31| 14:46:00|2017-12-31|18:00:00| 2.4|3.2333333333333334|
| 16670986|AN01706|2017-12-31| 11:25:00|2017-12-31|13:14:00| 6.1|1.8166666666666667|
| 3174961|AN18584|2017-12-31| 11:26:11|2018-01-01|12:54:11| 24|25.466666666666665|
当前代码:
df.agg({'PluginDuration': 'max'}).show()
df.agg({'PluginDuration': 'avg'}).show()
然后将所有列重命名为如下所示的预期结果:
+-------------------+-------------------+------------------+
|id |max_value |avg_value
+-------------------+-------------------+-------------------+
| QWER |96.26 |12.35 |
id
从CPID
重命名。max_value
和avg_value
需要四舍五入到小数点后两位。
2条答案
按热度按时间8yparm6h1#
我基本上采用了一种SQL方法来适应DataFrame方法,这是可行的并回答了这个问题。
nfs0ujit2#