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
目录
相关文章
|
IDE 开发工具 Python
解决pycharm代码中非错误波浪线问题
解决pycharm代码中非错误波浪线问题
159 0
解决pycharm代码中非错误波浪线问题
|
Arthas 安全 Java
Linux环境下使用Arthas排查cpu飙高问题
Linux环境下使用Arthas排查cpu飙高问题
Linux环境下使用Arthas排查cpu飙高问题
|
Arthas Prometheus 监控
排查GC问题常用的工具
最近杭州的花都陆陆续续开了。本来打算去太子湾看看郁金香,但到了地方才发现太子湾人满为患,无预约不能进。于是就在西湖边逛了逛,拍了点花花草草的照片。
678 0
|
JavaScript
js获取字符串最后几位字符数
js获取字符串最后几位字符数
|
网络协议 Java 程序员
Java核心类库之(Stream流:生成、中间、终结、收集操作)
黑马程序员全套Java教程_Java基础入门视频教程,零基础小白自学Java必备教程
266 0
Java核心类库之(Stream流:生成、中间、终结、收集操作)
|
SQL BI
SQL利用Case When Then多条件判断
CASE     WHEN 条件1 THEN 结果1     WHEN 条件2 THEN 结果2     WHEN 条件3 THEN 结果3     WHEN 条件4 THEN 结果4 .........     WHEN 条件N THEN 结果N     ELSE 结果X END Case具有两种格式。
6304 0
|
监控 Java 测试技术
CPU飙高,频繁GC,怎么排查?
处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。
CPU飙高,频繁GC,怎么排查?
|
分布式计算 DataWorks MaxCompute
DataWorks百问百答13:如何使用pyodps引用资源文件?
DataWorks百问百答13:如何使用pyodps引用资源文件?
3947 0
|
新零售 关系型数据库 数据库
数据库与数据仓库的区别(转载)
数据库:传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。 数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
2406 0