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调用shell的方法
Nov 20 Python
Python中的对象,方法,类,实例,函数用法分析
Jan 15 Python
Python常用库推荐
Dec 04 Python
Python处理PDF及生成多层PDF实例代码
Apr 24 Python
Python3实现抓取javascript动态生成的html网页功能示例
Aug 22 Python
python嵌套字典比较值与取值的实现示例
Nov 03 Python
将python图片转为二进制文本的实例
Jan 24 Python
利用Python复制文件的9种方法总结
Sep 02 Python
使用Pyhton集合set()实现成果查漏的例子
Nov 24 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
Apr 30 Python
降低python版本的操作方法
Sep 11 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获取程序执行的时间
2013/06/09 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
JQuery 入门实例1
2009/06/25 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
JQuery控制图片由中心点逐渐放大效果
2016/06/26 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
JS请求servlet功能示例
2017/06/01 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
vue实现户籍管理系统
2020/05/29 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
Python基于动态规划算法计算单词距离
2015/07/25 Python
python将txt文件读取为字典的示例
2018/12/22 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
python 调试冷知识(小结)
2019/11/11 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
党旗在我心中演讲稿
2014/09/15 职场文书
办理房产证委托书
2014/09/18 职场文书
铅球加油稿100字
2014/09/26 职场文书
公务员年度考核评语
2014/12/31 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
趣味运动会赞词
2015/07/22 职场文书
Python入门学习之类的相关知识总结
2021/05/25 Python
Mysql binlog日志文件过大的解决
2021/10/05 MySQL