欢迎大家来到IT世界,在知识的湖畔探索吧!
Hello大家好,欢迎来到【统计GO】,本公众号内容主要针对数据分析的爱好者,不定期分享一些好用的数据分析工具和机器学习资料,以及一些求职必备技能,帮助大家花更少的时间学更多的知识。
今天为大家推荐的是“详解pandas中的Map、Apply、Groupby函数”。如果本期内容对您有所帮助,记得及时关注。
1.Map
(1)数据集
(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)
2.Groupby
(1)简单组聚合的模型示意图
(2)数据集
(3)Groupby
grouped = df['data1'].groupby(df['key1']).mean()
Out: key1
a 0.746672
b -0.53758
3.Apply
(1)数据集
(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:
(4)每一列保留两位小数
format = lambda x: '%.2f' % x
frame.applymap(format)
Out:
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函数主要用于将自定义之后的函数,应用到每一列或者特定的某一列中.
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/36698.html