python 用lambda函数替换for循环的方法


Posted in Python onJune 09, 2018

场景如下:

现在有一个dataframe,其中一列为score,值从0-100,

df:

score

98

88

37

68

86

33

现在需要增加一列level,给这些分数分类,90分以上为A,60-90为B,60以下为C。

常用的方法肯定是使用for循环,对每一行进行处理。

import pandas as pd
list = [98,88,37,68,86,33]
df = pd.DataFrame(list, columns=['score']) # convert list to dataframe
df['level'] = '' # add a column
def judgeLevel(df):
 for i in range(len(df)):
  if df.score.ix[i] < 60:
   df.level.ix[i] = 'C'
  elif df.score.ix[i] > 90:
   df.level.ix[i] = 'A'
  else:
   df.level.ix[i] = 'B'
 return df
df = judgeLevel(df)

还有一种方法,是使用python的匿名函数:lambda函数

import pandas as pd 
 
list = [98,88,37,68,86,33] 
 
df = pd.DataFrame(list, columns=['score']) 
 
df['level'] = '' # add a column 
 
def judgeLevel(df): 
 if df['score'] < 60: 
  return 'C' 
 elif df['score'] > 90: 
  return 'A' 
 else: 
  return 'B' 
 
df['level'] = df.apply(lambda r: judgeLevel(r), axis=1)

至于如何取舍,就由各位自行决定了,多学一点总不是坏处,对吧?

以上这篇python 用lambda函数替换for循环的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中精确输出JSON浮点数的方法
Apr 18 Python
Python3基础之函数用法
Aug 13 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
Jul 30 Python
你所不知道的Python奇技淫巧13招【实用】
Dec 14 Python
Django如何自定义model创建数据库索引的顺序
Jun 20 Python
Django 拆分model和view的实现方法
Aug 16 Python
使用python3 实现插入数据到mysql
Mar 02 Python
Python callable内置函数原理解析
Mar 05 Python
jupyter notebook 多环境conda kernel配置方式
Apr 10 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 Python
5款实用的python 工具推荐
Oct 13 Python
解决python的空格和tab混淆而报错的问题
Feb 26 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
Jun 09 #Python
python pandas 如何替换某列的一个值
Jun 09 #Python
pandas 对series和dataframe进行排序的实例
Jun 09 #Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 #Python
python pandas修改列属性的方法详解
Jun 09 #Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 #Python
python中使用iterrows()对dataframe进行遍历的实例
Jun 09 #Python
You might like
php类
2006/11/27 PHP
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
Python的print用法示例
2014/02/11 Python
Python的Django框架中设置日期和字段可选的方法
2015/07/17 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
Python 实现引用其他.py文件中的类和类的方法
2018/04/29 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
斯福泰克软件测试面试题
2015/02/16 面试题
大学本科毕业生的自我鉴定
2013/11/26 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
趣味运动会赞词
2015/07/22 职场文书
图书借阅制度范本
2015/08/06 职场文书