pandas(Dataframe)里使用lambda匿名函数if..else表达式

一、数据需求

原数据如下,现在需求是将收益等于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(…………)))

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容