Python PySpark dataframe approxQuantile以列表形式返回结果
我使用下面的函数从两列“Apple”和“Oranges”中获取百分位数。然而,我将结果作为列表返回Python PySpark dataframe approxQuantile以列表形式返回结果,python,apache-spark,pyspark,Python,Apache Spark,Pyspark,我使用下面的函数从两列“Apple”和“Oranges”中获取百分位数。然而,我将结果作为列表返回 df.approxQuantile(['Apple', 'Oranges'],[0.1, 0.25, 0.5, 0.75, 0.9, 0.95],0.1) 我想将结果作为列返回。任何建议: 期望输出: +-------+--------------------+---------------------+ |Percentile | Apple| Orang
df.approxQuantile(['Apple', 'Oranges'],[0.1, 0.25, 0.5, 0.75, 0.9, 0.95],0.1)
我想将结果作为列返回。任何建议:
期望输出:
+-------+--------------------+---------------------+
|Percentile | Apple| Oranges |
+-------+--------------------+---------------------+
| 10 | 50 | 502|
| 25 | 12 | 431|
| 50 | 1.15 | 5065|
| 75 | 3224 | 1275|
| 90 | 2234 | 100|
+-------+--------------------+---------------------+
由于API是以特定的方式设计的,因此除了转换结果之外,您在这里可以做的事情不多:
percentiles = [0.1, 0.25, 0.5, 0.75, 0.9, 0.95]
columns = ["Apple", "Oranges"]
spark.createDataFrame(
zip(percentiles, *df.approxQuantile(columns, percentiles, 0.1)),
["Pecentile"] + columns
)
你能提供一个简单的输入数据吗?阅读更多关于。