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 ZipFile模块详解
Nov 01 Python
使用Python编写一个简单的tic-tac-toe游戏的教程
Apr 16 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
Python实现通讯录功能
Feb 22 Python
人脸识别经典算法一 特征脸方法(Eigenface)
Mar 13 Python
python接口自动化(十六)--参数关联接口后传(详解)
Apr 16 Python
华为校园招聘上机笔试题 扑克牌大小(python)
Apr 22 Python
Python tkinter常用操作代码实例
Jan 03 Python
Django bulk_create()、update()与数据库事务的效率对比分析
May 15 Python
Python环境管理virtualenv&amp;virtualenvwrapper的配置详解
Jul 01 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
星际争霸中的热键
2020/03/04 星际争霸
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
网页上facebook分享功能具体实现
2014/01/26 PHP
PHP发送短信代码分享
2015/08/11 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
Javascript中找到子元素在父元素内相对位置的代码
2012/07/21 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
js中new一个对象的过程
2017/02/20 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
python yield和Generator函数用法详解
2020/02/10 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
什么是唯一索引
2015/07/05 面试题
英文简历中的自我评价用语
2013/12/09 职场文书
个人贷款承诺书
2014/03/28 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
2014年话务员工作总结
2014/11/19 职场文书
教师远程培训心得体会
2016/01/09 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
redis中lua脚本使用教程
2021/11/01 Redis
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers