Lambda 基于条件在dataframe中填充新列

Lambda 基于条件在dataframe中填充新列,lambda,conditional-statements,using,Lambda,Conditional Statements,Using,我有一个多栏的数据框,其中一栏是各国可再生能源的百分比。我创建了一个新的数据框架,其中只有一列包含可再生能源,并按国家名称(中国、美国…)进行索引 我要做的是创建一个新列,如果%Renewable列中的值为>平均值,则用1填充新列,其他方式为0 我试着用lambda函数来实现这一点 首先,我得到的平均值如下 meanRen = new_df.median(axis=0) (meanRen is a pandas series obj) 我试着做这个,但做不到 #new_df['Ren_Val

我有一个多栏的数据框,其中一栏是各国可再生能源的百分比。我创建了一个新的数据框架,其中只有一列包含可再生能源,并按国家名称(中国、美国…)进行索引

我要做的是创建一个新列,如果%Renewable列中的值为>平均值,则用1填充新列,其他方式为0

我试着用lambda函数来实现这一点

首先,我得到的平均值如下

meanRen = new_df.median(axis=0)  (meanRen is a pandas series obj)
我试着做这个,但做不到

#new_df['Ren_Value'] = new_df.apply(lambda x, meanRen: 1 if x['%Renewable'] >= meanRen else 0,   axis =1 )

#new_df['Ren_Value'] = new_df.apply(lambda x, meanRen: 1 if x['%Renewable'] >= meanRen else 0, meanRen=x['%Renewable'].median(axis=1)
我得到这些错误

TypeError:()缺少1个必需的位置参数:“meanRen”

有什么建议吗?我们是否可以将两个参数传递给lambda,其中一个参数是常量值,或者这个场景不是lambda函数的理想候选

提前谢谢