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正则表达式中的括号匹配问题
Dec 14 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
Nov 09 Python
Python多维/嵌套字典数据无限遍历的实现
Nov 04 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
Jun 02 Python
Django 浅谈根据配置生成SQL语句的问题
May 29 Python
Python多进程池 multiprocessing Pool用法示例
Sep 07 Python
python2和python3在处理字符串上的区别详解
May 29 Python
python多线程并发实例及其优化
Jun 27 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
Django3.0 异步通信初体验(小结)
Dec 04 Python
获取CSDN文章内容并转换为markdown文本的python
Sep 06 Python
python两种获取剪贴板内容的方法
Nov 06 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
How do I change MySQL timezone?
2008/03/26 PHP
destoon常用的安全设置概述
2014/06/21 PHP
PHP列出MySQL中所有数据库的方法
2015/03/12 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
实例讲解PHP表单处理
2019/02/15 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
JS解析XML的实现代码
2009/11/12 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
微信小程序访问豆瓣电影api的实现方法
2019/03/31 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
Python监控主机是否存活并以邮件报警
2015/09/22 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
薇姿法国官网:Vichy法国
2021/01/28 全球购物
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
人事专员岗位职责
2013/11/20 职场文书
自我评价优秀范文分享
2013/11/30 职场文书
应届生自荐信范文
2014/02/21 职场文书
财政局个人年终总结
2015/03/03 职场文书
2015年公务员工作总结
2015/04/24 职场文书
搞笑结婚保证书
2015/05/08 职场文书
MySQL 计算连续登录天数
2022/05/11 MySQL