Pandas 的groupby操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas 的groupby操作相关的知识,希望对你有一定的参考价值。

本文和大家分享的主要是Pandas groupby操作相关内容,一起来看看吧,希望对大家学习Pandas有所帮助。
在做数据分析的时候,我们的数据一般从数据库来,那么就涉及到groupby操作。例如,我们要预测一个居民小区的未来一段时间的电费,那么就要将数据按照小区groupby,然后按照时间排序,这里groupby操作可完美的完成这个任务。
假设数据表cellfee结构为:
reportdate, cidyid, cellid, fee
读取表数据
import pandas as pdfrom sqlalchemy import create_engine# default
engine = create_engine(’mysql+pymysql://ledao:[email protected]/pandas_learn’)
original_data = pd.read_sql_table(’cellfee’, engine)
original_data
groupby分组汇总指定类别的所有数据
for k, v in original_data.groupby([original_data[’cityid’], original_data[’cellid’]]):
print(’key: {}, type is {}’.format(k, type(k)))
print(’vale:\n {}, \ntype is {}’.format(v, type(v)))
上述的代码的结果为:
key: (’1’, ’1’), type is
vale:
reportdate cityid cellid fee
0 2017-07-20 1 1 10.0
1 2017-07-21 1 1 10.0
2 2017-07-22 1 1 10.0
3 2017-07-23 1 1 10.0,
type is
通过一个简单的groupby函数,我们就能将数据库中以列存储的数据根据分组要求全部汇总到一个形成一个DataFrame。后续对分组形成的DataFrame可以做形成特征向量,排序,再继续汇总等常见的数据分析的操作。
groupby的操作上,我只服气scalakotlin的模式,即groupbymapflatMap),希望pandas以后也会支持这种函数式的操作。
agg函数
除了groupby的结果通过for遍历之后,Pandas也提供了agg函数。主要用于对具体的列的操作,类似sql
来源:简书

以上是关于Pandas 的groupby操作的主要内容,如果未能解决你的问题,请参考以下文章

pandas:使用 groupby 的操作 yield SettingWithCopyWarning

pandas 中是不是有与 .groupby 相对的“ungroup by”操作?

Pandas | 18 GroupBy 分组

数据分析—Pandas 中的分组聚合Groupby 高阶操作

python处理数据的风骚操作[pandas 之 groupby&agg]

从 Pandas groupBy 到 PySpark groupBy