我有以下数值;
- - - - - -
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数据框中执行此操作?
答案 0 :(得分:1)
无论您想检查和研究什么,请参阅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链接: - https://spark.apache.org/docs/1.6.2/api/python/pyspark.sql.html#pyspark.sql.DataFrame