Python 使用apply和lambda函数添加新列

Python 使用apply和lambda函数添加新列,python,pandas,Python,Pandas,我试图向datafram添加一个新列,并完成该列的de值,如果大于给定数字,则用1表示,如果小于给定数字,则用0表示 我试过这个: median = df['% Renewable'].median() df['HighRenew'] = df.apply(lambda x: 0 if x < median else 1, axis=1) median=df['%Renewable'].median() df['HighRenew']=df.apply(如果x

我试图向datafram添加一个新列,并完成该列的de值,如果大于给定数字,则用1表示,如果小于给定数字,则用0表示

我试过这个:

median = df['% Renewable'].median()
df['HighRenew'] = df.apply(lambda x: 0 if x < median else 1, axis=1)
median=df['%Renewable'].median()
df['HighRenew']=df.apply(如果x<1,则λx:0,轴=1)
这给了我一个错误。
使用apply+lambda是否正确?

我认为您希望对列使用
apply
,例如:

df['HighRenew'] = df['% Renewable'].apply(lambda x: 0 if x < median else 1, axis=1)
df['highrenewable']=df['%Renewable']。应用(如果x<1,则λx:0,轴=1)

我想您应该对列使用
应用
,例如:

df['HighRenew'] = df['% Renewable'].apply(lambda x: 0 if x < median else 1, axis=1)
df['highrenewable']=df['%Renewable']。应用(如果x<1,则λx:0,轴=1)

是的,但是你应该使用一个特定的列,而不是整个
df
…它给了我一个错误。请提供完整的错误消息,以及一个。还有,为什么您似乎使用0和1而不是实际的布尔值?是的,但是您应该使用特定的列,而不是整个
df
…它给了我一个错误。请提供完整的错误消息,以及一个。另外,为什么您似乎使用0和1而不是实际的布尔值?