GroupBy,Apply用法笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GroupBy,Apply用法笔记相关的知识,希望对你有一定的参考价值。
GroupBy针对DataFrame将其按照某个准则分组
1.常见的调用形式为:
df[‘a‘].GroupyBy(df[‘b‘]) df.GroupyBy(df[‘b‘,‘c‘])#层次化的索引 df.GroupyBy([‘b‘,‘c‘])#直接将columns名称作为索引键进行索引
以上可理解为将Series作为分组键,y此外还可以将任何适当长度的array作为分组键,目前未尝试过
2.常用的方法:
df.GroupyBy(df[‘b‘]).mean()#非数值列数据直接跳过 df.GroupyBy(df[‘b‘]).size()#返回一个分组的大小的Series(每个值对应的是当前键元素的个数)
3.举例GroupyBy的应用:
如给出的csv文件中columns包含[‘City‘,‘State‘,‘Population‘],让求出每个州所有城市人口的平均值,此时就可以用
df[‘population‘].GroupBy([‘State‘]).mean()
注:GroupyBy函数说明在http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.groupby.html#pandas.DataFrame.groupby
Apply函数-可针对DataFrame和Series操作,返回是DataFrame和Series
1.理解:apply将他应用的对象拆分到小一级,然后让拆分后的每个子部分去实施apply括号内的函数操作,再把操作后的结果合在一起
2.apply可以说是非常常用,这里只说一个基本的用例,连带理解了lambda的用法
energy[‘Energy Supply‘]=energy[‘Energy Supply‘].apply(lambda x : x*1000000)
注:Apply函数说明 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.apply.html#pandas.DataFrame.apply
以上是关于GroupBy,Apply用法笔记的主要内容,如果未能解决你的问题,请参考以下文章
使用带有参数的 Pandas groupby() + apply()
Python Pandas - 带有 apply() 和 rolling() 的 groupby() 非常慢