python-3.x - PySpark:在汇总负数分布时,describe() 函数出错——最小值和最大值翻转
问题描述
我正在尝试通过使用 PySpark describe() 函数汇总我的数据集中的测量分布来执行一些探索性数据分析。但是,对于具有负分布的测量值,最小值和最大值似乎颠倒了。
chicago_crime.describe('latitude', 'longitude').show()
+-------+-------------------+--------------------+
|summary| latitude| longitude|
+-------+-------------------+--------------------+
| count| 6811141| 6811141|
| mean| 41.84203025139101| -87.67177837500668|
| stddev|0.08994460772003067|0.062086304377221284|
| min| 36.619446395| -87.524529378|
| max| 42.022910333| -91.686565684|
+-------+-------------------+--------------------+
测量longitude
具有负分布。我预计最小值为longitude
-91.686565684,最大值为-87.524529378。
有没有其他人注意到这个错误?PySpark 开发人员可以纠正这个错误吗?
根据下面的请求,这是printSchema()
输出。
chicago_crime.printSchema()
root
|-- latitude: string (nullable = true)
|-- longitude: string (nullable = true)
然后转换为浮点数会显示预期的结果。
chicago_crime = chicago_crime.withColumn('latitude', chicago_crime.latitude.astype('float'))
chicago_crime = chicago_crime.withColumn('longitude', chicago_crime.longitude.astype('float'))
chicago_crime.describe('latitude', 'longitude').show()
+-------+-------------------+--------------------+
|summary| latitude| longitude|
+-------+-------------------+--------------------+
| count| 6810978| 6810978|
| mean| 41.84215369600549| -87.6716834892099|
| stddev|0.08628712634075986|0.058938763393995654|
| min| 41.644585| -87.934326|
| max| 42.02291| -87.52453|
+-------+-------------------+--------------------+
解决方案
我尝试了以下代码:
from pyspark.sql import Row
df = spark.sparkContext.parallelize([Row(-1),Row(-2), Row(-3)]).toDF()
df.describe().show()
我得到了预期的结果如下:
+-------+----+
|summary| _1|
+-------+----+
| count| 3|
| mean|-2.0|
| stddev| 1.0|
| min| -3|
| max| -1|
+-------+----+
推荐阅读
- java - Java“tasklist.exe /fo csv /nh”命令在等待过程中永远加载
- javascript - 如何在 Adobe 的扩展 JavaScript 文件中包含另一个文件
- javascript - React - 如何跟踪 useRef 孩子的变化
- flutter - 颤振在类和构造函数中为无状态小部件转换文本字段代码
- c# - C# HTMLAGILITYPACK 在两个标签之间抓取数据
- php - 上传 base64_encoded 图像从原始大小增加文件大小
- c# - 使用最小起订量更改参数
- vue.js - 在 nuxt 中获取全局 api 数据
- python - 功能选择:尝试查看保留了哪些列时出现 AttributeError
- android - 如何在运行 expo build android 时修复此错误?