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访问sqlserver示例
Feb 10 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
python bmp转换为jpg 并删除原图的方法
Oct 25 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
python开发游戏的前期准备
May 05 Python
python实现DEM数据的阴影生成的方法
Jul 23 Python
Python autoescape标签用法解析
Jan 17 Python
Django admin 实现search_fields精确查询实例
Mar 30 Python
基于python实现计算且附带进度条代码实例
Mar 31 Python
Django bulk_create()、update()与数据库事务的效率对比分析
May 15 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
Python实现信息轰炸工具(再也不怕说不过别人了)
Jun 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 选项及相关信息函数库
2006/12/04 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
Vue.js每天必学之Class与样式绑定
2016/09/05 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
2018/07/25 Javascript
详解如何运行vue项目
2019/04/15 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
python计算最大优先级队列实例
2013/12/18 Python
Python re模块介绍
2014/11/30 Python
使用Python绘制图表大全总结
2017/02/11 Python
python实现二分查找算法
2017/09/21 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
pandas 选择某几列的方法
2018/07/03 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
python爬取哈尔滨天气信息
2018/07/14 Python
python查看列的唯一值方法
2018/07/17 Python
pandas去除重复列的实现方法
2019/01/29 Python
Python实现转换图片背景颜色代码
2020/04/30 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
消防应急演练方案
2014/02/12 职场文书
公司节能减排方案
2014/05/16 职场文书
部门2014年度工作总结
2014/11/12 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS