python функция отсутствует 2 обязательных позиционных аргумента: ln1, ln2 - PullRequest
0 голосов
/ 17 марта 2020
def di(l1,l2, ln1, ln2):  
   dlt = (l2-l1)
   dln = (ln2-ln1)    
   d = dlt * dln
return d

abc = newdf[['l1','l2','ln1','ln2']]
abc.columns

Функция работает без ошибок. Но при работе с фреймом данных он показывает ошибку как

di (), пропуская 2 обязательных позиционных аргумента: ln1, ln2

newdf = newdf.withColumn('newcolnm',reduce(di, ( newdf[col] for col in abc.columns ) ))

1 Ответ

0 голосов
/ 17 марта 2020

Ваше определение функции правильное, но при вызове функции вы не передаете требуемые 4 аргумента. ваш вызов должен быть похож на funct (a, b, c, d)

, если вы не хотите, чтобы параметры были обязательными, определите вашу функцию как

di (p1=None, p2=None, p3=None, p4=None)

, с помощью которой вы можете опустить нежелательные параметры

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