知行编程网知行编程网  2022-12-07 16:30 知行编程网 隐藏边栏  8 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python apply和map区别是什么的相关知识,希望可以帮到处于编程学习途中的小伙伴

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

python apply和map有什么区别

1、当我们想对DataFrame的数据进行逐行或逐列操作时,使用apply()。

df1.apply(lambda x :x.max()-x.min(),axis=1)
#axis=1,表示按行对数据进行操作
#从下面的结果可以看出,我们使用了apply函数之后,系统自动按行找值和最小值计算,每一行输出一个值

0 4

1 7

2 4

dtype: int64

df1.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函数之后,
#系统自动对每一个数据进行判断,判断之后输出结果

python apply和map有什么区别

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学习网,免费的在线学习
,欢迎关注!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享