Python 访问PySpark中的count列

Python 访问PySpark中的count列,python,apache-spark,pyspark,apache-spark-sql,pyspark-sql,Python,Apache Spark,Pyspark,Apache Spark Sql,Pyspark Sql,我想根据字数降序排列这个数据帧 code: mydf = testDF.groupBy(testDF.word).count() mydf.show() output: +-----------+-----+ | word|count| +-----------+-----+ | she| 2208| | mothers| 93| | poet| 59| | moving| 18| | active| 6| |

我想根据字数降序排列这个数据帧

code:

mydf = testDF.groupBy(testDF.word).count()
mydf.show()

output:

+-----------+-----+
|       word|count|
+-----------+-----+
|        she| 2208|
|    mothers|   93|
|       poet|   59|
|     moving|   18|
|     active|    6|
|       foot|  169|

请告诉我哪里出了问题。

好吧,点表示法不是访问列的最佳方法。虽然
DataFrame
提供了列感知
\uuuu getattr\uuuu
但您可能会遇到类似这样的冲突,其中名称将解析为方法(此处),因此最好使用括号表示法:

mydf.orderBy(mydf[“count”].desc())
col
功能:

从pyspark.sql.functions导入col
mydf.orderBy(col(“count”).desc())

参考列。

检查此@kgiou,它不是重复项。这里的问题是Python特有的。还有另一个选项,
mydf.sort(-col(“count”))
@AlbertoBonsanto
desc(“count”)
desc
方法稍微通用一些,因为不需要支持
-
的类型。不过,我认为它更多的是关于
getattr
机制,而不是排序本身。
code:

countDF = mydf.orderBy(mydf.count.desc())
countDF.show()

Error:

AttributeError: 'function' object has no attribute 'desc'