
python中 apply()函数的用法
发布日期:2021-05-20 07:41:17
浏览次数:23
分类:精选文章
本文共 1642 字,大约阅读时间需要 5 分钟。
函数格式为:apply(func,*args,**kwargs)
用途:当一个函数的参数存在于一个元组或者一个字典中时,用来间接地调用这个函数,并将元组或字典中的参数按照顺序传递给函数的参数。
解析:args是一个包含函数所需位置参数的元组,必须严格按照参数的位置顺序传递,不能颠倒顺序。例如,如果函数要求参数顺序为a,b,则 args中必须严格传递(a=3,b=4),而不能以(b=4,a=3)的形式传递。*kwargs是一个包含关键字参数的字典,用于传递函数的关键字参数。如果没有提供*args,必须在*kwargs中传递对应的参数。
apply函数的执行结果返回函数func的返回值。
def function(a, b): print(a, b)
示例:
apply(function, ('good', 'better')) # 输出('good', 'better')(2, 9)
apply(function, ('cai', 'quan')) # 输出('cai', 'quan')
apply(function, ('cai',), {'b': 'caiquan'}) # 输出('cai', 'caiquan')
apply(function, (), {'a': 'caiquan', 'b': 'Tom'}) # 输出('caiquan', 'Tom')
在类继承和构造函数中使用apply函数:
class Rectangle: def __init__(self, color="white", width=10, height=10): print("create a", color, self, "sized", width, "x", height)
class RoundedRectangle(Rectangle): def __init__(self, **kw): apply(Rectangle.__init__, (self,), kw)
示例:
rect = Rectangle(color="green", height=100, width=100) # 输出:create a green <__main__.Rectangle instance at 0x0678FA08> sized 100 x 100
rect = RoundedRectangle(color="blue", height=20) # 输出:create a blue <__main__.RoundedRectangle instance at 0x06620468> sized 10 x 20
在Pandas Dataframe中使用apply函数:
import pandas as pdimport numpy as np data = [[1, 2, 3],[5, 4, 1],[3, 2, 2]] df = pd.DataFrame(data, columns=['A', 'B', 'C'])
应用lambda函数计算每列数据范围:
f = lambda x: (x - np.min(x)) / (np.max(x) - np.min(x))print(df)
默认axis=0,计算每列的数据范围:
df1 = df.copy()df1 = df1.apply(f, axis=1) # 计算每行(每列)的范围,输出示例见下文
axis=1(行)计算每列范围:
df2 = df.copy()df2 = df2.apply(f, axis=2) # 按行计算各列范围,输出示例见下文
默认axis=0,默认按列计算范围:
df3 = df.copy()df3 = df3.apply(f) #,默认按列(axis=0)计算每列范围
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月22日 11时17分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ProgresSql 连接 ssl off 错误
2019-03-17
浏览器打开winscp 系统错误。代码:5。 拒绝访问。
2019-03-17
Oracle Listener动态注册与静态注册(转载)
2019-03-17
Kubernetes 无法查询到并且无法删除pod实例的排查过程
2019-03-17
android中button修改不了背景颜色
2019-03-17
uniapp自定义弹窗组件|仿微信android/ios弹窗效果
2019-03-17
(网络安全)主动信息收集 操作系统识别
2019-03-17
Class和ClassLoader的getResource方法对比
2019-03-17
redis教程-redis环境搭建安装(qq:1197852132)
2019-03-17
github 入门
2019-03-17
cpp
2019-03-17
可编辑列表(json文件,可编辑,添加等)
2019-03-21
学生信息管理系统之增(五):添加用户信息流程
2019-03-21
社区医疗app-Ui设计
2019-03-21
Python图像处理之PIL
2019-03-21
HTML 表单验证
2019-03-21
mysql时间为0000-00-00 00:00:00时,程序读取错误
2019-03-21
ubuntu System program problem detected
2019-03-21