apply,map,applymap总结

简介: apply,map,applymap总结

Python中apply,map,applymap总结

pandas中DataFrame 数据类型,使用map,apply方法使用较多,做一下总结。参考https://www.cnblogs.com/cymwill/p/7577369.html

总结:

  • 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
    b    d    e
0    4    9    3
1    3    1    0
2    4    8    0
3    2    9    9

apply:作用在dataframe的一行或一列上,也可以作用在series上

定义一个函数,

f = lambda x: x.max() - x.min()

这个函数可以结合apply作用在DataFrame类型的行或者列上

# 和加上axis = 0 ,默认是作用在列上
df.apply(f)
b    2
d    8
e    9
dtype: int64
    
# axis = 1 ,默认是作用在行上
df.apply(f,axis =1)
0    6
1    3
2    8
3    7
dtype: int64

关于apply 传入多参数

def test(a,b):
    return a,b
df['d'].apply(test,args=('ok',))
# args只能传入(元组)
0    (9, ok)
1    (1, ok)
2    (8, ok)
3    (9, ok)
Name: d, dtype: object

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

定义f2函数

f2 = lambda x: x+1 if x%2==0 else x

applymap 会将函数作用在DataFrame每一个元素上

df.applymap(f2)
    b    d    e
0    5    9    3
1    3    1    1
2    5    9    1
3    3    9    9

map:作用将函数作用于一个Series的每一个元素

df['b'].map(f2)
0    5
1    3
2    5
3    3
Name: b, dtype: int64
目录
相关文章
|
7月前
|
存储 JSON 对象存储
|
8月前
|
JavaScript 前端开发
Array类型(apply)
Array类型(apply)
43 0
|
8月前
|
JavaScript 前端开发
call和apply与this的关系
call和apply与this的关系
29 0
|
10月前
|
Serverless Perl
R|apply,tapply
R|apply,tapply
|
存储 JavaScript 前端开发
ES6 中 Map 和 Set
ES6 中 Map 和 Set
83 0
|
缓存
source-map
webpack 配置 source-map
84 0
source-map
ES6常用数组方法总结(max,contant,some,every,filter,reduce,forEach,map)
1.求最大值(Math.max) 2.数组添加到另外一个数组的尾部(...扩展符) 3.复制数组 3.1数组直接赋值 3.2 es5通过concat方法进行克隆,不会影响原来数组 3.3 es6通过扩展字符串来实现克隆 4.用Object.keys清空对象的属性值 5.forEach,遍历数组,无返回值,不改变原数组 6.map遍历数组,返回新数组,不改变原数组 7.filter,过滤掉数组不符合条件的值,返回新数组,不改变原数组 8.reduce 9 some() 10.every
144 0
ES6常用数组方法总结(max,contant,some,every,filter,reduce,forEach,map)
|
前端开发