python——用lambda函数替换for循环
来源:互联网 发布:ant 执行java命令 编辑:程序博客网 时间:2024/06/11 12:12
场景如下:
现在有一个dataframe,其中一列为score,值从0-100,
df:
score
98
88
37
68
86
33
现在需要增加一列level,给这些分数分类,90分以上为A,60-90为B,60以下为C。
常用的方法肯定是使用for循环,对每一行进行处理。
import pandas as pdlist = [98,88,37,68,86,33]df = pd.DataFrame(list, columns=['score']) # convert list to dataframedf['level'] = '' # add a columndef 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 dfdf = judgeLevel(df)
还有一种方法,是使用python的匿名函数:lambda函数
import pandas as pdlist = [98,88,37,68,86,33]df = pd.DataFrame(list, columns=['score'])df['level'] = '' # add a columndef 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)
至于如何取舍,就由各位自行决定了,多学一点总不是坏处,对吧?
1 0
- python——用lambda函数替换for循环
- python 用 lambda 函数
- Python——for循环
- Python的匿名函数——lambda
- Python 基础 —— 匿名函数 lambda
- Python函数式编程——匿名函数lambda
- Python——while和for循环
- python for循环和range内置函数
- python for循环和range内置函数
- Python — lambda filter map reduce 函数介绍
- Python进阶—使用lambda创建匿名函数
- 用 Python 编程 for 循环
- python学习——用lambda实现斐波那契函数
- Python: 使用lambda函数
- Python的lambda函数
- python中的lambda函数
- [Python]使用 lambda 函数
- Python 使用 lambda 函数
- Linux中awk和sed命令
- POP3数据包捕获
- 基础简单的数据结构-C语言-二叉查找树数组模拟
- POJ1125(folyd多源最短路)
- #Eclipse IDE for Java EE Developers 的下载及初步使用
- python——用lambda函数替换for循环
- 浅谈C++中用函数重载实现类型转换
- Docker 安装指南
- thinkphp开发总结(三)——二维数组添加键值、排序
- HDU2048
- HDU1151 Air Raid (DAG图的最小覆盖)
- 数据结构与算法——线性结构——线性表及其表示
- POJ3070Fibonacci
- JDBC章节总结