pandas中关于apply+lambda的应用


Posted in Python onFebruary 28, 2022

apply(func [, args [, kwargs ]]) 函数用于当函数参数已经存在于一个元组或字典中时,间接地调用函数。args是一个包含将要提供给函数的按位置传递的参数的元组。如果省略了args,任 何参数都不会被传递,kwargs是一个包含关键字参数的字典。简单说apply()的返回值就是func()的返回值,apply()的元素参数是有序的,元素的顺序必须和func()形式参数的顺序一致,与map的区别是前者针对column,后者针对元素

lambda是匿名函数,即不再使用def的形式,可以简化脚本,使结构不冗余何简洁

a =  lambda x  : x + 1 
a(10)
 
11

两者结合可以做很多很多事情,比如split在series里很多功能不可用,而index就可以做

比如有一串数据如下,要切分为总数,正确数,正确率,则可这样做

96%(1368608/1412722)
97%(1389916/1427922)
97%(1338695/1373803)
96%(1691941/1745196)
95%(1878802/1971608)
97%(944218/968845)
96%(1294939/1336576)

import pandas as pd
#先生成一个dataframe
d = {"col1" : ["96%(1368608/1412722)",
"97%(1389916/1427922)",
"97%(1338695/1373803)",
"96%(1691941/1745196)",
"95%(1878802/1971608)",
"97%(944218/968845)",
"96%(1294939/1336576)"]}
df1 = pd.DataFrame(d)
 
#切分原文中识别率总数,采用apply + 匿名函数
#lambda 函数的意思是选取x的序列值 ,比如 x[6:9]
#index函数的意思是把当前字符位置转变为所在位置的位数
#-1是最后一位
df1['正确数'] = df1.iloc[:,0].apply(lambda x : x[x.index('(') + 1 : x.index('/')])
df1['总数'] = df1.iloc[:,0].apply(lambda x : x[x.index('/') + 1 : -1])
df1['正确率'] = df1.iloc[:,0].apply(lambda x : x[:x.index('(')])
df1

pandas中关于apply+lambda的应用

示例2

由一组dataframe数据,包括有数值型的三列气象要素,由这三列通过公式计算人体舒适指数

pandas中关于apply+lambda的应用

应用到的人体舒适指数计算公式:

pandas中关于apply+lambda的应用

import pandas as pd
import numpy as np
import math
path='D:\\data\\57582.csv'  #文件路径
data=pd.read_csv(path,index_col=0,encoding='gbk')  #读取数据有中文时用gbk解码
#定义舒适指数公式函数,结果保留1位小数
def get_CHB(T,RH,S):
    return round(1.8*T-0.55*(1.8*T-26)*(1-RH/100)-3.2*math.sqrt(S)+32,1)
#增加一列CHB并计算数据后赋值
data['舒适指数']=data.apply(lambda x:get_CHB(x['平均气温'],x['平均相对湿度'],x['2M风速']),axis=1)
#打印结果
print(data)
#保存结果
data.to_csv('D:\\CHB.csv',encoding='gbk')

代码中使用了apply和lambda的组合,传入的参数x为整个data数据,在函数中引入的参数则是x[‘平均气温’],x[‘平均相对湿度’],x[‘2M风速’],与自定义的函数get_CHB对应。最后需使用axis=1来指定是对列进行运算。

结果如图所示:

pandas中关于apply+lambda的应用

 到此这篇关于pandas中关于apply+lambda的应用的文章就介绍到这了,更多相关pandas apply+lambda内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
详解Python使用simplejson模块解析JSON的方法
Mar 24 Python
详解Python函数可变参数定义及其参数传递方式
Aug 02 Python
Python探索之pLSA实现代码
Oct 25 Python
用不到50行的Python代码构建最小的区块链
Nov 16 Python
实用自动化运维Python脚本分享
Jun 04 Python
Python读写zip压缩文件的方法
Aug 29 Python
详解python分布式进程
Oct 08 Python
解决python写入带有中文的字符到文件错误的问题
Jan 31 Python
python实现可变变量名方法详解
Jul 01 Python
Python实现平行坐标图的两种方法小结
Jul 04 Python
python实现邮件发送功能
Aug 10 Python
python lambda表达式在sort函数中的使用详解
Aug 28 Python
Python中的datetime包与time包包和模块详情
Feb 28 #Python
Python 数据可视化神器Pyecharts绘制图像练习
Python使用OpenCV实现虚拟缩放效果
python保存图片的四个常用方法
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
You might like
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
js实现产品缩略图效果
2017/03/10 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
详解vue中axios的封装
2018/07/18 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
基于vue实现微博三方登录流程解析
2020/11/04 Javascript
Python中Collection的使用小技巧
2014/08/18 Python
Python实现提取文章摘要的方法
2015/04/21 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
浅析matlab中imadjust函数
2020/02/27 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
Python 创建TCP服务器的方法
2020/07/28 Python
会计辞职信范文
2014/01/15 职场文书
作文批改评语
2014/12/25 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript