如何从 python 中的 Spark 数据帧访问特定列?

我的数据框看起来像这样


------+-------+                                                                

|cat_id|counter|

+------+-------+

|    12|  61060|

|     1| 542118|

|    13| 164700|

|     3| 406622|

|     5|  54902|

|    10| 118281|

|    11|  13658|

|    14|  72229|

|     2| 131206|

+------+-------+

获取上述数据框的查询是:


 grouped_data = dataframe.groupBy("cat_id").agg(count("*").alias("counter"))


现在我需要读取不同 cat_id 的值以将其保存在另一个数据库中。


我完成它的方法是在我的 id 上使用 for 循环


for cat_id in cat_ids_map:

     statsCount = grouped_data.select("counter").filter("cat_id = " + cat_id).collect()[0].counter

但我认为可以有更好的方法来读取计数器而无需 for 循环。任何的意见都将会有帮助!!!


幕布斯6054654
浏览 106回答 1
1回答

慕村9548890

如果要遍历整个数据框,通常使用.foreach函数。所以你会这样做:grouped_data.foreach(lambda x: f(x))其中f是您的函数,它将对数据框中的每个元素执行您想要的任何操作
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python