python中的apply(),map(),agg()等的用法

本文介绍了Python中数据处理常用的几个函数,包括map()函数,它对序列中的每个元素调用给定函数并返回新列表;DataFrame的applymap(),用于对数据框的每个元素应用标量函数;agg()函数,用于在指定轴上聚合数据;以及apply()函数,用于在数据框的行或列上应用函数,最后提到了transform()函数,用于在原始数据上进行函数操作并返回相同长度的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)map()
函数:map(function, iterable, …)
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
function – 函数
iterable – 一个或多个序列注意这里可以是一个或者多个数组成的列表

def f(x):
    return x*x
map(f,[2,3])

在python中返回的是迭代器。
(2)df.applymapp()
结构:DataFrame.applymap(func)
此方法应用一个函数,该函数接受并向数据帧的每个元素返回一个标量。
参考

df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])
df.applymap(lambda x: len(str(x)))

表示会对每一个元素进行func操作。

	0	1
0	3	4
1	5	5

(3)# 在指定轴上使用一个或多个操作进行聚合。
df.agg()等价于df.aggregate()
DataFrame.agg(func, axis=0, *args, **kwargs)

df = pd.DataFrame([[1, 2, 3],
                    [4, 5, 6],
                   [7, 8, 9],
                  [np.nan, np.nan, np.nan]],
                  columns=['A', 'B', 'C'])
df.agg(['sum', 'min'])    
df.aggregate(['sum', 'min'])#等价于df.agg()              

结果:

      A	      B  	C
sum	12.0	15.0	18.0
min	1.0	    2.0 	3.0

参考文档

(4)df.apply()
DataFrame.apply(func, axis=0, broadcast=None, raw=False, reduce=None,
result_type=None, args=(), **kwds)[source]
该函数最有用的是第一个参数,这个参数是函数.
详情请看

df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])
df.apply(np.sqrt)

结果:

	A	B
0	2.0	3.0
1	2.0	3.0
2	2.0	3.0

(5)transform()
df.transform()
DataFrame.transform(func, axis=0, *args, **kwargs)
表示调用函数func,并返回与原数据有相同长度的数据帧,就相当于在元数据上进行函数操作,并返回值
参考

import numpy as np
s = pd.Series(range(3))
s.transform([np.sqrt,np.exp])

结果:

sqrt	exp
0	0.000000	1.000000
1	1.000000	2.718282
2	1.414214	7.389056
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值