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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
漫画:设计模式六大原则(下)
publicinterfaceCarService{ StringgetName(); voiddrive(); Stringcolor(); }publicclassSedanimplementsCarService{ privateString name; privateString color; privateintspeed; publicSedan(String name, String color,intspeed{ this.name = name; this.color = color; this.speed = speed; } @Override publicString getName(){ returnthis.name; } @Override publicvoiddrive(){ System.out.println("普通的小车普通的开"+this.speed); } @Override publicStringcolor(){ returnthis.color; } } publicc...
-
下一篇
Python知识梳理
这是个人学习笔记,非教程,内容会有些混乱 极简教程 数据类型 我们可以使用type()函数类获取对象的类型,Python3中内置数据类型包括:None,int,float,complex,str,list,dict,tuple,set,frozenset,range等,Python2中还有long类型,Python中并没有内置数组类型。 dict,list,set这些是可变类型(用户自定义类型也可变),可以改变类型对象的值;数值和字符串类型则是不可变的。 str与js一样,python中字符串即可用单引号也可用双引号表示 numbersPython3中数值类型有:int和float两种 list字面量表示:[1,1.0,False,'list'] 列表推导式,创建列表的一种简易方法: tuple字面量表示:(1,1.0,False,'tuple') range list、tuple、range均属于序列类型(Sequence Types) dict set/frozenset集合是不包含重复元素的数据集,frozenset是不可变的,set是可变的,可以使用字面量构建一个集合{1,2,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- 设置Eclipse缩进为4个空格,增强代码规范
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS6,CentOS7官方镜像安装Oracle11G
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2整合Redis,开启缓存,提高访问速度
- MySQL8.0.19开启GTID主从同步CentOS8