pypsark: взять минимальные или максимальные значения в ряду? - PullRequest
0 голосов
/ 30 мая 2018

У меня есть следующие значения:

- - - - - -
A|  B |  C|
- - - - - - 
1|  2 |  3|
2|  3 |  6|
3|  5 |  4|

Я хочу взять минимум по строкам столбцов B и C.

, чтобы

- - - - - -
A|  min(B,C)
- - - - - - 
1|  2
2|  3
3|  4

Как мне сделать это в фрейме pyspark?

1 Ответ

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

Все, что вы хотите проверить и изучить, см. В документации по pyspark API.Он будет иметь все возможные функции и соответствующие документы.В следующем примере я использовал least для min и greatest для max.

from pyspark.sql import functions as F 
df = sqlContext.createDataFrame([
    [1,3,2],
    [2,3,6],
    [3,5,4]
], ['A','B', 'C'])
df.withColumn(
    "max",
    F.greatest(*[F.col(cl) for cl in df.columns[1:]])
).withColumn(
    "min",
    F.least(*[F.col(cl) for cl in df.columns[1:]])
).show()

Pyspark API Link: - https://spark.apache.org/docs/1.6.2/api/python/pyspark.sql.html#pyspark.sql.DataFrame

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...