# Creating an arbitrary DataFrame
df = spark.createDataFrame([(1,54),(2,7),(3,72),(4,99)], ['ID','Var'])
df.show()
+---+---+
| ID|Var|
+---+---+
| 1| 54|
| 2| 7|
| 3| 72|
| 4| 99|
+---+---+
После создания DataFrame
мы используем функцию floor()
, чтобы найти неотъемлемую часть числа.Например,floor(15.5)
будет 15
.Нам нужно найти неотъемлемую часть Var/10
и добавить к ней 1, потому что индексирование начинается с 1, а не с 0. Наконец, нам нужно добавить group
к значению.Конкатенация может быть достигнута с помощью функции concat()
, но имейте в виду, что поскольку префиксное слово group
не является столбцом, мы должны поместить его в lit()
, чтосоздает столбец литерального значения.
# Requisite packages needed
from pyspark.sql.functions import col, floor, lit, concat
df = df.withColumn('Var',concat(lit('group'),(1+floor(col('Var')/10))))
df.show()
+---+-------+
| ID| Var|
+---+-------+
| 1| group6|
| 2| group1|
| 3| group8|
| 4|group10|
+---+-------+