如何获得两个条件语句以将信息拉到同一列?

我需要在两种情况下进行计算,但输出出现在同一列中Erisa (Local)。我需要检查列中是否有值ERISA Percentage,如果有,则将该值乘以另一列“净额(本地)”。如果该ERISA Percentage列没有值,我想检查该ERISA Status列中的特定单词Erisa。如果该行有那个词,那么我需要在 column 中提取值Net Amount Local。


我尝试了一个elif语句和一个 or 语句,但出现无效语法错误。有谁知道我应该对下面的代码进行什么修改?


ecdi['Erisa (Local)'] = ecdi.apply(lambda x: x['Net Amount (Local)']  * x['ERISA Percentage']/100 if x['ERISA Percentage']>0 and x['ERISA Status'] == "Erisa"


elif ecdi['Erisa (Local)'] = ecdi.apply(lambda x: x['Net Amount (Local)'] if x['ERISA Percentage'] == 0 and x['ERISA Status'] == "Erisa"                        

                                                               else 0, axis=1)


www说
浏览 98回答 1
1回答

宝慕林4294392

最佳做法是对性能进行矢量化计算。因此我用过np.where反转你的逻辑,当百分比小于等于零且状态不是Erisa时默认为零如果百分比 >零则标准计算留下一个案例,它是Erisa并且百分比 <零为了更好地衡量,我添加了一个列检查以更好地测试逻辑是否按定义工作r = 10df = pd.DataFrame({"ERISA Percentage":[random.randint(-25,100) for i in range(r)],&nbsp;"Net Amount (Local)":[random.randint(50,125) for i in range(r)],&nbsp;"ERISA Status":[["Erisa","a","b"][random.randint(0,2)] for i in range(r)]})df = df.assign(**{"Erisa (Local)":lambda dfa:&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;np.where((dfa["ERISA Percentage"]<=0) & (dfa["ERISA Status"]!="Erisa"), 0,&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;np.where(dfa["ERISA Percentage"]>0,&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dfa["ERISA Percentage"]/100*dfa["Net Amount (Local)"],&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dfa["Net Amount (Local)"])),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"check":lambda dfa: dfa["Erisa (Local)"]==dfa["Net Amount (Local)"]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; })print(df.to_string(index=False))输出&nbsp;ERISA Percentage&nbsp; Net Amount (Local) ERISA Status&nbsp; Erisa (Local)&nbsp; check&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;79&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 56&nbsp; &nbsp; &nbsp; &nbsp; Erisa&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 44.24&nbsp; False&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;68&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;124&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 84.32&nbsp; False&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;33&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;124&nbsp; &nbsp; &nbsp; &nbsp; Erisa&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 40.92&nbsp; False&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -21&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;100&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.00&nbsp; False&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;42&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;124&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 52.08&nbsp; False&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-5&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 76&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.00&nbsp; False&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;38&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 95&nbsp; &nbsp; &nbsp; &nbsp; Erisa&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 36.10&nbsp; False&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;109&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 21.80&nbsp; False&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;55&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 63&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 34.65&nbsp; False&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -13&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;106&nbsp; &nbsp; &nbsp; &nbsp; Erisa&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;106.00&nbsp; &nbsp;True
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python