PySpark dataframe приблизительно Quuantile возвращает результат в виде списка - PullRequest
0 голосов
/ 11 мая 2018

Я использую следующую функцию, чтобы получить процентили из двух столбцов «Яблоко» и «Апельсины».Тем не менее, я получаю результат обратно в виде списка.

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|
+-------+--------------------+---------------------+

1 Ответ

0 голосов
/ 11 мая 2018

Поскольку 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
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...