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开发的nosql数据库CodernityDB介绍和使用实例
Oct 23 Python
python通过索引遍历列表的方法
May 04 Python
Python网络编程中urllib2模块的用法总结
Jul 12 Python
Python脚本实现12306火车票查询系统
Sep 30 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
May 23 Python
浅谈Python黑帽子取代netcat
Feb 10 Python
python: 自动安装缺失库文件的方法
Oct 22 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
Jun 21 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
基于Python脚本实现邮件报警功能
May 20 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
深入理解python协程
Jun 15 Python
Python中的datetime包与time包包和模块详情
Feb 28 #Python
Python 数据可视化神器Pyecharts绘制图像练习
Python使用OpenCV实现虚拟缩放效果
python保存图片的四个常用方法
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
You might like
PHP 简单日历实现代码
2009/10/28 PHP
PHP高级对象构建 工厂模式的使用
2012/02/05 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
基于jquery的放大镜效果
2012/05/30 Javascript
百度地图api应用标注地理位置信息(js版)
2013/02/01 Javascript
javascript中常用编程知识
2013/04/08 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
javascript 操作符(~、&、|、^、)使用案例
2014/12/31 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
简介JavaScript中的unshift()方法的使用
2015/06/09 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
jQuery 选择器(61种)整理总结
2016/09/26 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
js eval函数使用,js对象和字符串互转实例
2017/03/06 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
Python解析xml中dom元素的方法
2015/03/12 Python
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
pytorch 模型可视化的例子
2019/08/17 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
解决django FileFIELD的编码问题
2020/03/30 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
动态密码技术
2012/10/18 面试题
公证书样本
2014/04/10 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
班级团队活动方案
2014/08/14 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书