sap*_*tak 16 apache-spark pyspark spark-dataframe
对于
averageCount = (wordCountsDF
.groupBy().mean()).head()
Run Code Online (Sandbox Code Playgroud)
我明白了
行(AVG(计数)= 1.6666666666666667)
但是当我尝试:
averageCount = (wordCountsDF
.groupBy().mean()).head().getFloat(0)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
AttributeError:getFloat ----------------------------------------------- ---------------------------- AttributeError Traceback(最近一次调用last)in()1#TODO:用适当的代码替换--- - > 2 averageCount =(wordCountsDF 3 .groupBy().mean()).head().getFloat(0)4 5 print averageCount
getattr中的 /databricks/spark/python/pyspark/sql/types.py(self,item)1270 引发AttributeError(item)1271
除了ValueError: - > 1272 raise AttributeError(item)1273 1274 def setattr(self,key,value) :AttributeError:getFloat
我究竟做错了什么?
sap*_*tak 21
我想到了.这将返回我的值:
averageCount = (wordCountsDF
.groupBy().mean()).head()[0]
Run Code Online (Sandbox Code Playgroud)
Ver*_*eng 12
这也有效:
averageCount = (wordCountsDF
.groupBy().mean('count').collect())[0][0]
print averageCount
Run Code Online (Sandbox Code Playgroud)
Dataframe 行继承自命名元组(来自集合库),因此虽然您可以按照上面的方式像传统元组一样对它们进行索引,但您可能希望通过其字段名称来访问它。毕竟,这就是命名元组的要点,而且它对未来的变化也更加稳健。像这样:
averageCount = wordCountsDF.groupBy().mean().head()['avg(jobs)']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28292 次 |
| 最近记录: |