一、数据需求
原数据如下,现在需求是将收益等于0的补贴为10,需要进行数据转换

图片.png
二、操作过程
下面使用lambda和if..else进行转换:
df2['收益'] = df2['收益'].apply(lambda x: 10 if x==0 else x)

图片.png
三、进一步延申
需求改为:
收益小20的补贴为10,大于等于20小于50转换为30,大于等于50不变,又该如何解决这个问题呢???
原数据如下:

图片.png
下面来解决这个问题:
df3['收益']=df2['收益'].apply(lambda x:10 if x<20 else (20 if x<50 else x))

图片.png
四、用法总结
lamada(表达式 if 条件 else (表达式 if 条件 else(…………)))