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

技术
今日推荐
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信