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编写vim插件的简单示例
Apr 17 Python
安装dbus-python的简要教程
May 05 Python
Python内建数据结构详解
Feb 03 Python
浅谈django model的get和filter方法的区别(必看篇)
May 23 Python
python中模块查找的原理与方法详解
Aug 11 Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 Python
pandas 空的dataframe 插入列名的示例
Oct 30 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 Python
在PyCharm导航区中打开多个Project的关闭方法
Jan 17 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
Oct 14 Python
高考考python编程是真的吗
Jul 20 Python
python基础之模块的导入
Oct 24 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 stripos()函数及注意事项的分析
2013/06/08 PHP
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
2019/10/30 PHP
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
2019/01/09 jQuery
bootstrap Table实现合并相同行
2019/07/19 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
Python break语句详解
2014/03/11 Python
python中lambda与def用法对比实例分析
2015/04/30 Python
使用Python的package机制如何简化utils包设计详解
2017/12/11 Python
python实现移位加密和解密
2019/03/22 Python
python实现海螺图片的方法示例
2019/05/12 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
高中军训广播稿
2014/01/14 职场文书
关于廉洁的广播稿
2014/01/30 职场文书
美术教学感言
2014/02/22 职场文书
培训讲师岗位职责
2014/04/13 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
建筑管理专业求职信
2014/07/28 职场文书
授权收款委托书
2014/09/23 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
刑事案件上诉状
2015/05/23 职场文书
庆七一活动简报
2015/07/20 职场文书
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
MongoDB数据库之添删改查
2022/04/26 MongoDB