从数据框中获取价值

问题描述

在 Scala 中,我可以使用 get(#)getAs[Type](#) 从数据帧中获取值.在 pyspark 中应该怎么做?

In Scala I can do get(#) or getAs[Type](#) to get values out of a dataframe. How should I do it in pyspark?

我有一个两列 DataFrame:item(string)salesNum(integers).我做了一个 groupbymean 来获得这些数字的平均值,如下所示:

I have a two columns DataFrame: item(string) and salesNum(integers). I do a groupby and mean to get a mean of those numbers like this:

saleDF.groupBy("salesNum").mean()).collect()

它有效.现在我在一个数据框中有了一个平均值.

and it works. Now I have the mean in a dataframe with one value.

如何从数据框中获取该值以获取浮点数的平均值?

How can I get that value out of the dataframe to get the mean as a float number?


解决方案

collect() 将结果作为 python 列表返回.要从列表中取出值,您只需要像这样获取第一个元素:

collect() returns your results as a python list. To get the value out of the list you just need to take the first element like this:

saleDF.groupBy("salesNum").mean()).collect()[0] 

相关文章