gpt4 book ai didi

group-by - Pyspark:如何计算单个 groupBy 中的平均值和计数?

转载 作者:行者123 更新时间:2023-12-04 22:18:09 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Multiple Aggregate operations on the same column of a spark dataframe

(5 个回答)


3年前关闭。




我想通过 Pyspark 中的语句计算单个组中的平均值和计数。我怎样才能做到这一点?

df = spark.createDataFrame([(1, 'John', 1.79, 28,'M', 'Doctor'),
(2, 'Steve', 1.78, 45,'M', None),
(3, 'Emma', 1.75, None, None, None),
(4, 'Ashley',1.6, 33,'F', 'Analyst'),
(5, 'Olivia', 1.8, 54,'F', 'Teacher'),
(6, 'Hannah', 1.82, None, 'F', None),
(7, 'William', 1.7, 42,'M', 'Engineer'),
(None,None,None,None,None,None),
(8,'Ethan',1.55,38,'M','Doctor'),
(9,'Hannah',1.65,None,'F','Doctor')]
, ['Id', 'Name', 'Height', 'Age', 'Gender', 'Profession'])

#This 只显示 avg 但我也需要在它旁边计数。我怎样才能做到这一点?
df.groupBy("Profession").agg({"Age":"avg"}).show()
df.show()

谢谢你。

最佳答案

对于同一列:

from pyspark.sql import functions as F
df.groupBy("Profession").agg(F.mean('Age'), F.count('Age')).show()

如果您能够使用不同的列:

df.groupBy("Profession").agg({'Age':'avg', 'Gender':'count'}).show()

关于group-by - Pyspark:如何计算单个 groupBy 中的平均值和计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51632126/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com