我如何得到每列2列的平均价格?
我的DataFrame:
relevantTable = df.select(df['Price'], df['B'], df['A'])
看起来像:
+-------+------------+------------------+
| Price| B | A |
+-------+------------+------------------+
| 0.2947| i3.xlarge| x|
| 0.105| c4.large| x|
| 0.2179| m4.xlarge| x|
| 2.2534| m4.10xlarge| x|
| 2.1801| m4.10xlarge| x|
| 0.108| r4.large| x|
| 0.108| r4.large| x|
| 0.0213| i3.large| y|
| 0.5572| i2.4xlarge| y|
| 0.1542| c4.4xlarge| y|
| 0.3624| m4.10xlarge| y|
| 0.3596| m4.10xlarge| y|
| 0.11| m4.large| x|
| 0.4436| m4.2xlarge| x|
| 0.1458| m4.2xlarge| y|
... and so on real huge set
什么是简单且可扩展的解决方案,以获得 A 和 B 的所有组合的平均值?
答案 0 :(得分:2)
怎么样:
df.groupBy("A", "B").avg("Price")
或者如果您想通过单列包含聚合:
df.cube("A", "B").avg("Price")