Python之数据聚合与分组运算

Python之数据聚合与分组运算

1. 关系型数据库方便对数据进行连接、过滤、转换和聚合。

2. Hadley Wickham创建了用于表示分组运算术语“split-apply-combine”(拆分-应用-合并)。

3. GroupBy的size方法,它可以返回一个含有分组大小的Series。

4. gorupby对分组进行迭代,可以产生一组二元元组(由分组名和数据块组成)。

5. 选取一个或以组列

对于由GroupBy对象,如果用一个(单个字符串)或一组(字符串数组)列名对其进行索引,就能实现选取部分列进行聚合的目的。

6. 通过字典或Series进行分组。

7. 根据索引级别分组:层次化索引数据集最方便的地方就在于它能够根据索引级别进行聚合。要实现该目的,通过level关键字传入级别编码或者名称即可。

8. 数据聚合,对于聚合是指能够从数组产生标量值的数据转换过程。

9. 聚合只不过是分组运算的其中一种,它是数据转换的特例。

10 apply:一般性的“拆分-应用-合并”

最一般化的GroupBy方法是apply,它会将待处理的对象拆分成多个片段,然后对个片段调用传入的函数,最后尝试将各片段组合到一起。

11 分位数和桶分析

pandas有一些可以根据指定面元或样本分位数将数据拆分成多块的工具(比如cut和qcut)。将这些函数跟GroupBy结合起来,就能轻松地实现对数据集的桶(bucket)或分位数(quantile)分析。

12 透视表(pivot table)是各种电子表格程序和其他数据分析软件中一种常见的数据汇总工具。

13 交叉表(cross-tabulation,简称crosstab)是一种用于计算分组频率的特殊透视表。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

Web前端性能优化教程04:精简JS 移除重复脚本&图像和Cookie优化

一、精简javascript 基础知识 精简:从javascript代码中移除所有的注释以及不必要的空白字符(空格,换行和制表符),减少javascript文件...

32811
来自专栏owent

ptmalloc,tcmalloc和jemalloc内存分配策略研究

最近看了glibc的ptmaoolc,Goolge的tcmalloc和jemalloc,顺便做了一点记录。可能有些地方理解地不太对,如有发现还请大神指出。

2531
来自专栏潇涧技术专栏

Python Data Structures - C2 Sort

参考内容: 1.Problem Solving with Python Chapter5: Search and Sorting online_link ...

651
来自专栏Java Edge

八大排序的Java实现概述1. 插入排序—直接插入排序(Straight Insertion Sort)2. 插入排序—希尔排序(Shell`s Sort)4. 选择排序—堆排序(Heap Sort)

3216
来自专栏机器之心

入门 | 一文带你了解Python集合与基本的集合运算

了解 Python 集合: 它们是什么,如何创建它们,何时使用它们,什么是内置函数,以及它们与集合论操作的关系

1013
来自专栏算法channel

玩转Pandas,让数据处理更easy系列2

上一篇总结了Pandas中最重要的两个数据结构:Series和DataFrame,前者相当于更加强大的一维数组,是数组和字典的组合,因为既可以按照位置,也能通过...

833
来自专栏Google Dart

Dart语言指南(一) 顶

此文着重展示如何使用Dart语言的每一个主要功能,从变量和操作符到类和库,假设您已经知道如何用另一种编程语言。

962
来自专栏积累沉淀

各种排序算法的总结和比较

1 快速排序(QuickSort) 快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。...

1776
来自专栏Petrichor的专栏

tensorflow编程: Control Flow

经验证,a1 = t 得到的是 t,a2 = tf.identity(t) 得到的不是 t ,只是 t 的副本。这样有利于用副本进行运算而不引起 原tensor...

1155
来自专栏deepcc

javascript 中的 delete

3448

扫码关注云+社区