Pandas中的map(), apply()和applymap()

https://www.cnblogs.com/oklizz/p/11804220.html

 

它们的区别在于应用的对象不同。

1、map()

map() 是一个Series的函数,DataFrame结构中没有map()。map()将一个自定义函数应用于Series结构中的每个元素(elements)。

例子:

df = pd.DataFrame({'key1' : ['a', 'a', 'b', 'b', 'a'],
                   'key2' : ['one', 'two', 'one', 'two', 'one'],
                   'data1' : np.arange(5),
                   'data2' : np.arange(5,10)})
df

 我们现在用map来对列data1改成保留小数点后三位:

df['data1'] = df['data1'].map(lambda x : "%.3f"%x) 
df

你也可以用map把key1的a改成c,b改成d

df['key1'] = df['key1'].map({'a':'c',"b":"d"})
df


2、apply()

apply()将一个函数作用于DataFrame中的每个行或者列

例子: 我们现在用apply来对列data1,data2进行相加

#axis =1 ,作用于行. 
#axis =0,作用于列,默认为0
df['total'] = df[['data1','data2']].apply(lambda x : x.sum(),axis=1 ) 
df

df.loc['total'] = df[['data1','data2']].apply(lambda x : x.sum(),axis=0 )
df


3、applymap()

将函数做用于DataFrame中的所有元素(elements)

例子: 例如,在所有元素前面加个字符A

def  addA(x):
    return "A" + str(x )
df.applymap(addA)

posted @   清风oo  阅读(147)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2019-06-09 程序员如何学好英语
2019-06-09 《C++程序设计POJ》《WEEK3 类和对象进阶》《 编程作业 魔兽世界之一:备战》
2019-06-09 《C++程序设计POJ》《WEEK3 类和对象进阶》《第三周-编程填空》
点击右上角即可分享
微信分享提示