python apply和map方法的区别_python apply和map有什么区别

python apply和map有什么区别

发布时间:2020-08-24 10:41:57

来源:亿速云

阅读:110

这篇文章将为大家详细讲解python apply和map有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在Python中如果想要对数据使用函数,可以借助apply()、applymap()、map()来应用函数,括号里面可以是直接函数式,或者自定义函数(def)或者匿名函数(lambad)。import pandas as pd

import numpy as np

from pandas import DataFrame

from pandas import Series

df1= DataFrame({

"sales1":[-1,2,3],

"sales2":[3,-5,7],

})

df1

1、当我们要对数据框(DataFrame)的数据进行按行或按列操作时用apply()。df1.apply(lambda x :x.max()-x.min(),axis=1)

#axis=1,表示按行对数据进行操作

#从下面的结果可以看出,我们使用了apply函数之后,系统自动按行找最大值和最小值计算,每一行输出一个值

0    4

1    7

2    4

dtype: int64df1.apply(lambda x :x.max()-x.min(),axis=0)

#默认参数axis=0,表示按列对数据进行操作

#从下面的结果可以看出,我们使用了apply函数之后,系统自动按列找最大值和最小值计算,每一列输出一个值

sales1     4

sales2    12

dtype: int64

2、当我们要对数据框(DataFrame)的每一个数据进行操作时用applymap(),返回结果是DataFrame格式。df1.applymap(lambda x : 1 if x>0 else 0)

#从下面的结果可以看出,我们使用了applymap函数之后,

#系统自动对每一个数据进行判断,判断之后输出结果

3、当我们要对Series的每一个数据进行操作时用map()。df1.sales1.map(lambda x : 1 if x>0 else 0)

#df1.sales1就是一个Series

0    0

1    1

2    1

Name: sales1, dtype: int64

4、总结:要对数据进行应用函数时,先看数据结构是DataFrame还是Series,Seriesj结构直接用map(),DataFrame结构的话再看是要按行还是按列进行操作来选择对应的函数即可。

关于python apply和map有什么区别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值