Python使用|python中 map、apply、applymap的区别

转自:https://www.cnblogs.com/cymwill/p/7577369.html

apply,applymap和map的应用 总结:apply 用在dataframe上,用于对row或者column进行计算;applymap 用于dataframe上,是元素级别的操作;map (其实是python自带的)用于series上,是元素级别的操作。如

>>> df = pd.DataFrame(np.random.randint(0,10,(4, 3)), columns=list('bde'), index=range(4)) >>> df bde 0205 1891 2366 3484



apply:作用在dataframe的一行或一列上

>>> f = lambda x: x.max() - x.min() >>> df.apply(f) b6 d9 e5 dtype: int64 >>> df.apply(f,axis=1)# 作用在一行上 05 18 23 34 dtype: int64 >>> df.apply(f,axis=0)# 作用在一列上,axis=0可省略 b6 d9 e5 dtype: int64


applymap: 作用在dataframe的每一个元素上

>>> f2 = lambda x: x+1 if x%2==0 else x >>> df.applymap(f2) bde 0315 1991 2377 3595


关于apply传入多个参数:
【Python使用|python中 map、apply、applymap的区别】
>>> data = https://www.it610.com/article/{'id':range(5),'value':list("abcab")} >>> frame = pd.DataFrame(data) >>> frame id value 00a 11b 22c 33a 44b>>> def testf(x, str): ...return x,str>>> frame["id"].apply(testf, args=("ok",)) 0(0, ok) 1(1, ok) 2(2, ok) 3(3, ok) 4(4, ok) Name: id, dtype: object # 注意这里args只能传入(元组),不能是"ok"或("ok")

    推荐阅读