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实现通过哈希算法检测图片重复的教程
Apr 02 Python
Python实现导出数据生成excel报表的方法示例
Jul 12 Python
Python实现的从右到左字符串替换方法示例
Jul 06 Python
通过python连接Linux命令行代码实例
Feb 18 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
Apr 30 Python
基于Keras中Conv1D和Conv2D的区别说明
Jun 19 Python
python中关于数据类型的学习笔记
Jul 19 Python
python中_del_还原数据的方法
Dec 09 Python
一个入门级python爬虫教程详解
Jan 27 Python
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
Apr 13 Python
Python OpenCV 图像平移的实现示例
Jun 04 Python
python数字图像处理:图像的绘制
Jun 28 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 Sql Server连接失败问题及解决办法
2009/08/07 PHP
php写的简易聊天室代码
2011/06/04 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
用js怎么把&amp;字符换成&quot;&amp;amp:&quot;
2006/10/19 Javascript
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
详解webpack-dev-server的简单使用
2018/04/02 Javascript
koa源码中promise的解读
2018/11/13 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
2021/02/07 Vue.js
pygame播放音乐的方法
2015/05/19 Python
Python中的localtime()方法使用详解
2015/05/22 Python
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
Python实现类的创建与使用方法示例
2017/07/25 Python
python3爬取各类天气信息
2018/02/24 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
python批量替换文件名中的共同字符实例
2020/03/05 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
怀俄明州飞钓:Platte River Fly Shop
2017/12/28 全球购物
什么是GWT的Module
2013/01/20 面试题
大学运动会入场词
2014/02/22 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
演讲开头怎么书写?
2019/08/06 职场文书