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 相关文章推荐
PyCharm使用教程之搭建Python开发环境
Jun 07 Python
浅谈django model的get和filter方法的区别(必看篇)
May 23 Python
Python3之读取连接过的网络并定位的方法
Apr 22 Python
pandas 小数位数 精度的处理方法
Jun 09 Python
python将list转为matrix的方法
Dec 12 Python
python下载微信公众号相关文章
Feb 26 Python
django做form表单的数据验证过程详解
Jul 26 Python
pytorch 更改预训练模型网络结构的方法
Aug 19 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
Python如何将将模块分割成多个文件
Aug 04 Python
Python的轻量级ORM框架peewee使用教程
Feb 05 Python
python基础详解之if循环语句
Apr 24 Python
Python中的datetime包与time包包和模块详情
Feb 28 #Python
Python 数据可视化神器Pyecharts绘制图像练习
Python使用OpenCV实现虚拟缩放效果
python保存图片的四个常用方法
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
Python可视化学习之seaborn绘制矩阵图详解
You might like
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
PHPCMS的使用小结
2010/09/20 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
javascript中 try catch用法
2015/08/16 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
python实现问号表达式(?)的方法
2013/11/27 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
python 读取串口数据的示例
2020/11/09 Python
python爬虫破解字体加密案例详解
2021/03/02 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
Dockers美国官方网站:卡其裤、男士服装、鞋及配件
2016/11/22 全球购物
为有想象力的人提供的生活方式商店:Firebox
2018/06/04 全球购物
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
查摆剖析材料范文
2014/09/30 职场文书
专职安全员岗位职责
2015/04/11 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android