[英]Python Pandas: User defined function missing 1 required positional argument
我已經定義了 function,它接受兩個 arguments 並返回兩個值。 如下所示:
def normalized_Value(x,RY):
Norm = 0
if RY >= 2016:
if x > 3.382:
x = 3.382 #return 3.382
Norm = 1
else:
x = x
#return x
return x,Norm
else:
if x > 11.93:
x = 11.93 #return 3.382
Norm = 1
else:
x = x
#return x
return x,Norm
我在 dataframe 中調用了 function 以在 dataframe 中創建兩個新列。 我使用以下代碼調用 function:
df['Normalized_val'], temp['Normalized val event'] = zip(*temp[['value','RY']].apply(normalized_Value))
但是,當我運行代碼時,它會拋出缺少參數的錯誤消息,
TypeError: normalized_Value() missing 1 required positional argument: 'RY'
我在代碼中傳遞了兩個 arguments,不知道為什么它會拋出錯誤消息。 任何人都可以幫助糾正這個問題嗎?
更改您的代碼
def normalized_Value(x,RY):
Norm = 0
if RY >= 2016:
if x > 3.382:
x = 3.382 #return 3.382
Norm = 1
else:
x = x
#return x
return [x,Norm]
else:
if x > 11.93:
x = 11.93 #return 3.382
Norm = 1
else:
x = x
#return x
return [x,Norm]
s=pd.DataFrame(temp.apply(lambda x : normalized_Value(x['value'],x['RY']),axis=1).tolist()
,index = temp.index, columns=['Normalized_val','Normalized val event'])
temp=temp.join(s)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.