【Pandas map(),apply(),applymap()用法详解】

【Pandas map(),apply(),applymap()用法详解】

目录

一、map()函数

1.map() 参数为字典;

2.map() 参数为内置函数;

3.map() 参数定义为自定义函数;

4.map() 参数为lambda匿名函数;

二、apply()函数

1.遍历DataFrame按列求和

2. 遍历DataFrame按列行求和

 三、 applymap()函数

 1.对数据进行格式化处理,保留两位小数

 四、map(),apply(),applymap()函数的区别

一、map()函数

划重点:map 函数对Series的每个元素执行遍历处理,该参数可以是字典,也可以是函数

1.map() 参数为字典;

import pandas as pd
s=pd.Series(['增长','持平','下降'])
s.map({'增长':0.1,'持平':0,'下降':-0.1})

【Pandas map(),apply(),applymap()用法详解】

 当map()函数参数为字典的时候,返回字典的的值;

2.map() 参数为内置函数;

使用map()函数给数字后面添加”月”;

import numpy as np
s1=pd.Series(np.arange(1,13))
s1.map('{}月'.format)

【Pandas map(),apply(),applymap()用法详解】

 map()函数遍历Series的每个元素,对每个元素进行格式化处理,后面添加了”月”。

3.map() 参数定义为自定义函数;

map()自定义函数实现对数据的任意操作,常见的操作有:

Series字符串处理;

Series数据格式化操作;

Series分组数据分组操作;

Series对数据进行自定义运算;

例:数据自定义运算:Series数据扩大10倍

def fun(x):
    return x*10
s2=pd.Series(np.random.randint(10,100,10))
print(s2)
s2.map(fun)

【Pandas map(),apply(),applymap()用法详解】

4.map() 参数为lambda匿名函数;

map()参数为lambda匿名函数,使用范围更广,写法更为简洁;

接上文,使用lambda匿名函数对Series数据扩大十倍;

s2.map(lambda x: x*10)

【Pandas map(),apply(),applymap()用法详解】

二、apply()函数

划重点:apply()函数遍历DataFrame的行和列;

df=pd.DataFrame({
    'A':np.random.randint(80,150,10),
    'B':np.random.randint(30,150,10),
    'C':np.random.randint(10,150,10),
})
df

【Pandas map(),apply(),applymap()用法详解】

 使用匿名函数输出一下:

df.apply(lambda x: print(x))

【Pandas map(),apply(),applymap()用法详解】

划重点:使用apply()函数遍历DataFrame,数据从左至右按列遍历,每一列数据都是Series。

1.遍历DataFrame按列求和

df.apply(sum,axis=0) 

【Pandas map(),apply(),applymap()用法详解】

2. 遍历DataFrame按列行求和

df['sum']=df.apply(sum,axis=1) #按行求和
df

【Pandas map(),apply(),applymap()用法详解】

 三、 applymap()函数

划重点:applymap()函数遍历DataFrame中每个元素;

df1=pd.DataFrame({
    'A':np.random.rand(10),
    'B':np.random.rand(10),
    'C':np.random.rand(10),
})
df1

【Pandas map(),apply(),applymap()用法详解】

 1.对数据进行格式化处理,保留两位小数

pandas格式化处理完数据为为”object”,需要转化为”float”

df1.applymap('{:.2f}'.format).astype('float')

【Pandas map(),apply(),applymap()用法详解】

 四、map(),apply(),applymap()函数的区别

map()函数遍历Series数据
apply()函数遍历DataFrame数据或Series数据
applymap()函数遍历DataFrame中的每个元素

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年5月28日
下一篇 2022年5月28日

相关推荐