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()

groupby java

pandas groupby apply 真的很慢

Python Pandas - 带有 apply() 和 rolling() 的 groupby() 非常慢

Koalas GroupBy > Apply > Lambda > 系列

熊猫:GroupBy .pipe() 与 .apply()