详解Python中的map、lambda和apply用法

详解Python中的map、lambda和apply用法    'cornedbeef': 'cow','honey ham': 'pig&#3

欢迎大家来到IT世界,在知识的湖畔探索吧!

Hello大家好,欢迎来到【统计GO】,本公众号内容主要针对数据分析的爱好者,不定期分享一些好用的数据分析工具机器学习资料,以及一些求职必备技能,帮助大家花更少的时间学更多的知识。

今天为大家推荐的是“详解pandas中的Map、Apply、Groupby函数”。如果本期内容对您有所帮助,记得及时关注。

1.Map

(1)数据集

详解Python中的map、lambda和apply用法

(2)假设您想要添加一列,指出每种食物来自哪种动物。让我们写下每一种不同的肉类类型到动物的映射:

meat_to_animal = {'bacon': 'pig', 
    'pulled pork': 'pig','pastrami':'cow', 
    'corned beef': 'cow','honey ham': 'pig',    'nova lox': 'salmon'}

欢迎大家来到IT世界,在知识的湖畔探索吧!

(3)处理完之后的数据

欢迎大家来到IT世界,在知识的湖畔探索吧!data['animal'] = lowercased.map(meat_to_animal)
详解Python中的map、lambda和apply用法

2.Groupby

(1)简单组聚合的模型示意图

详解Python中的map、lambda和apply用法

(2)数据集

详解Python中的map、lambda和apply用法

(3)Groupby

grouped = df['data1'].groupby(df['key1']).mean()

Out: key1

a 0.746672

b -0.53758

3.Apply

(1)数据集

详解Python中的map、lambda和apply用法

(2)lambda函数

欢迎大家来到IT世界,在知识的湖畔探索吧!f = lambda x: x.max() - x.min()
frame.apply(f)

Out:

b 1.802165

d 1.684034

e 2.689627

frame.apply(f, axis='columns')

Out:

Utah 0.998382

Ohio 2.521511

Texas 0.676115

Oregon 2.542656

(3)def f(x),计算每一列最小值和最大值

def f(x):    
    return pd.Series([x.min(), x.max()], 
    index=['min', 'max'])
frame.apply(f)

Out:

详解Python中的map、lambda和apply用法

(4)每一列保留两位小数

format = lambda x: '%.2f' % x
frame.applymap(format)

Out:

详解Python中的map、lambda和apply用法

4.总结

1. lambda与def的区别:

1)def创建的方法是有名称的,而lambda没有。

2)lambda会返回一个函数对象,但这个对象不会赋给一个标识符,而def则会把函数对象赋值给一个变量(函数名)。

3)lambda只是一个表达式,而def则是一个语句。

4)lambda表达式”:“后面,只能有一个表达式,def则可以有多个。

5)像if或for或print等语句不能用于lambda中,def可以。

6)lambda一般用来定义简单的函数,而def可以定义复杂的函数。

2. Map函数主要用于自定义分类规则.

Groupby函数主要用于计算组内统计量,特别是在缺失值填充中避免了用总体均值填充的弊端.

Apply函数主要用于将自定义之后的函数,应用到每一列或者特定的某一列中.

详解Python中的map、lambda和apply用法

详解Python中的map、lambda和apply用法

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/36698.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信