У меня есть следующий фрейм данных на pyspark
+--------------------+-----+
| activity| diff|
+--------------------+-----+
| Ajustar nómina|33339|
|Generar archivo p...| 1383|
|Generar archivo p...| 269|
|Contabilizar Nomi...| 561|
и следующая функция, которую я сделал
def to_date(seconds=0):
'''
:param seconds:
:return:
'''
dat = ''
if seconds == 0:
return '0 s'
if (seconds / 2678400) >= 1:
month = round((seconds/2678400), 1)
# seconds = (seconds - 2678400 * int(seconds / 2678400))
if month > 1:
return f'{month} months'
else:
return f'{month} month'
if (seconds / 86400) >= 1:
day = round((seconds / 86400), 1)
# seconds = (seconds - 86400 * int(seconds / 86400))
if day > 1:
return f'{day} days'
else:
return f'{day} day'
if (seconds / 3600) >= 1:
hour = round((seconds / 3600), 1)
# seconds = (seconds - 3600 * int(seconds / 3600))
return f'{hour} hr'
if (seconds / 60) >= 1:
minutes = (int(seconds / 60))
return f'{minutes} min'
else:
seconds = int(seconds)
return f'{seconds} s'
return dat
Я хотел бы знать, есть ли на pyspark df.apply(to_date)
PySpark, я бы хотел добиться применения функции to_date
в каждой строке PySpark Dataframe df
.
Спасибо!