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中for循环的使用方法
May 14 Python
Python实现通过文件路径获取文件hash值的方法
Apr 29 Python
python3实现爬取淘宝美食代码分享
Sep 23 Python
python进行TCP端口扫描的实现
Dec 21 Python
一篇文章了解Python中常见的序列化操作
Jun 20 Python
python实现网站用户名密码自动登录功能
Aug 09 Python
python实现连续变量最优分箱详解--CART算法
Nov 22 Python
python输出pdf文档的实例
Feb 13 Python
Python单例模式的四种创建方式实例解析
Mar 04 Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 Python
Python Django搭建文件下载服务器的实现
May 10 Python
Python中的datetime包与time包包和模块详情
Feb 28 #Python
Python 数据可视化神器Pyecharts绘制图像练习
Python使用OpenCV实现虚拟缩放效果
python保存图片的四个常用方法
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
You might like
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
用js实现预览待上传的本地图片
2007/03/15 Javascript
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
每天一篇javascript学习小结(属性定义方法)
2015/11/19 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
2016/07/28 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
python比较两个列表是否相等的方法
2015/07/28 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
浅谈django的render函数的参数问题
2018/10/16 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
2019/04/30 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
Django框架模板用法入门教程
2019/11/04 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
安全生产专项整治方案
2014/05/06 职场文书
运动会口号16字
2014/06/07 职场文书
销售活动策划方案
2014/08/26 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
上下班时间调整通知
2015/04/23 职场文书
文艺演出主持词
2015/07/01 职场文书
人事任命书范本
2015/09/21 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL