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 相关文章推荐
wxPython事件驱动实例详解
Sep 28 Python
python遍历类中所有成员的方法
Mar 18 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
Jan 03 Python
python使用KNN算法手写体识别
Feb 01 Python
Python实现的删除重复文件或图片功能示例【去重】
Apr 23 Python
python实现机器人卡牌
Oct 06 Python
python根据文本生成词云图代码实例
Nov 15 Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
Apr 15 Python
在vscode中启动conda虚拟环境的思路详解
Dec 25 Python
python解决OpenCV在读取显示图片的时候闪退的问题
Feb 23 Python
Python中glob库实现文件名的匹配
Jun 18 Python
Python中的datetime包与time包包和模块详情
Feb 28 #Python
Python 数据可视化神器Pyecharts绘制图像练习
Python使用OpenCV实现虚拟缩放效果
python保存图片的四个常用方法
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
You might like
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
jQuery的强大选择器小结
2009/12/27 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
[01:10]DOTA2英雄背景故事第四期之混沌法则混沌骑士
2020/07/16 DOTA
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
Python实现单词拼写检查
2015/04/25 Python
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
SQL面试题
2013/04/30 面试题
自我评价范文分享
2014/01/04 职场文书
家长对老师的评语
2014/04/18 职场文书
专题组织生活会方案
2014/06/15 职场文书
商铺租房协议书范本
2014/12/04 职场文书
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js