本文主要是介绍Pandas中map,apply,applymap的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.map():
map()是Series对象的方法,DataFrame中没有map(),功能是将一个自定义函数作用于Series对象的每个元素,使用map可以实现元素级转换以及其他数据清理工作。
(1)map()传入一个函数:
import pandas as pd import numpy as npdf = pd.DataFrame({'key1':['a','b','c','d'],'key2':['one','two','three','four'],'data1':np.arange(4),'data2':np.arange(7,11) }) print(df) #运行结果如下:
df['data1'] = df['data1'].map(lambda x: "%.3f"%x) #运行结果如下:
(2)map()传入一个字典
df["key3"] = df["key2"].map({"one":1,"two":2,"three":3,"four":4
})
print(df)
# 运行结果如下:
2.apply()
apaly()是将一个自定义函数作用于DataFrame的行或者列。
如:现在使用apply()对data1和data2相加
df['total'] = df[['data1','data2']].apply(lambda x : x.sum(), axis = 1)
# 运行结果如下:
3.applymap()
applymap()的功能是将自定义函数作用于DataFrame的所有元素。
如:现将DataFrame的所有元素前面加字符$
df_2 = pd.DataFrame({'key1':['a','b','c','d'],'key2':['one','two','three','four'],'key3':['jack','rose','laowang','limei']
})
def add(n):return "$"+ndf_3 = df_2.applymap(add)
print(df_3)
# 运行结果如下:
这篇关于Pandas中map,apply,applymap的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!