You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark DataFrame如何按国家和地区双重分组统计城市数量?

PySpark实现按国家和地区双重分组统计城市数量

只需在groupBy()方法中同时传入country和subcountry两个字段,就能实现双重分组统计,其余聚合、排序逻辑保持不变。

完整代码如下:

from pyspark.sql.functions import col, count

# 读取数据
df = spark.read.json("/content/world-cities.json")
df.printSchema()
df.show()

# 按国家+地区双重分组,统计每组城市数量并降序展示
df.groupBy(col('country'), col('subcountry'))\
  .agg(count("*").alias("city_count"))\
  .orderBy(col('city_count').desc())\
  .show()

关键说明:

  • groupBy(col('country'), col('subcountry')):指定两个分组字段,Spark会将同国家同地区的记录归为一组
  • count("*"):统计每组内的记录数,即对应国家和地区下的城市数量,用alias()给统计结果命名为更直观的city_count
  • orderBy(col('city_count').desc()):按统计出的城市数量降序排列结果

内容的提问来源于stack exchange,提问作者Ark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:25:29