多個變量的λ我有一個系列,如如下:Python的大熊貓LAMBDA:使用內數據幀
example = pd.Series([[1.0, 1209.75, 1207.25],
[1.0, 1211.0, 1207.5],
[-1.0, 1211.25, 1205.75],
[0, 1207.25, 1206.0],
[1.0, 1206.25, 1201.0],
[-1.0, 1205.75, 1202.75],
[0, 1205.5, 1203.75]])
這個系列基本上在每個單元3號的列表。 我把它變成一個數據幀,並添加一個新列:
example = example.to_frame(name="input")
example["result"]=np.NaN
現在我想在它執行以下操作:
example["result"] = example["input"].apply(lambda x,y,z: y if x==1 else z if x==-1 else NaN)
試圖做到這一點時,我收到以下錯誤信息: missing 2 required positional arguments: 'y' and 'z'
是的,我剛剛發現它......對不起,夥計們。但有趣的是,經常用我的問題來說足以讓我找到答案......無論如何,謝謝! 你的意見是什麼意思?你的建議是什麼? –
@jimbasquiat查看最新的答案。 –
非常感謝。在函數的情況下,爲什麼我們使用x,y,z而不是x [0],x [1],x [2]和lambda中的一樣?函數和lambda不應該是等價的嗎? –