PyCharm Spark 程序:统计道路卡口建设年份占比
首先需要安装 PySpark:
- 在 PyCharm 中打开一个新的项目并创建一个新的 Python 文件。
- 在终端中输入以下命令安装 PySpark:
!pip install pyspark
- 导入 PySpark:
from pyspark.sql import SparkSession
- 创建一个 SparkSession 实例:
spark = SparkSession.builder.appName('RoadCamera').getOrCreate()
- 加载数据集:
road_camera_df = spark.read.load('path/to/dataset.csv', format='csv', header=True, inferSchema=True)
- 对数据进行清洗和转换:
road_camera_df = road_camera_df.filter(road_camera_df.Year.isNotNull()) \
.groupBy('RoadName', 'Year') \
.count() \
.orderBy('RoadName', 'Year')
- 计算占比:
from pyspark.sql.functions import sum
from pyspark.sql.window import Window
window = Window.partitionBy('RoadName').orderBy('Year')
road_camera_df = road_camera_df.withColumn('total', sum('count').over(window))
road_camera_df = road_camera_df.withColumn('percent', road_camera_df['count'] / road_camera_df['total'])
road_camera_df.show()
这样就可以得到每个道路在不同年份建设的卡口占比了。
原文地址: https://www.cveoy.top/t/topic/nnr9 著作权归作者所有。请勿转载和采集!