我在内存中加载了一个Spark DataFrame,我想对列进行均值(或任何聚合操作).我该怎么办?(在numpy,这被称为进行操作axis=1).
如果有人在行(axis=0)中计算DataFrame的平均值,那么这已经内置:
from pyspark.sql import functions as F
F.mean(...)
Run Code Online (Sandbox Code Playgroud)
但有没有办法以编程方式对列中的条目执行此操作?例如,从下面的DataFrame中
+--+--+---+---+
|id|US| UK|Can|
+--+--+---+---+
| 1|50| 0| 0|
| 1| 0|100| 0|
| 1| 0| 0|125|
| 2|75| 0| 0|
+--+--+---+---+
Run Code Online (Sandbox Code Playgroud)
省略id,手段将是
+------+
| mean|
+------+
| 16.66|
| 33.33|
| 41.67|
| 25.00|
+------+
Run Code Online (Sandbox Code Playgroud)