簡體   English   中英

Python Pandas:用戶定義的 function 缺少 1 個必需的位置參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM