在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析.本部分关注可以聚合.合并.重塑数据的方法. 1.层次化索引 层次化索引(hierarchical indexing)是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别.抽象点说,它使你能以低纬度形式处理高纬度数据.我们来看一个简单的栗子:创建一个Series,并用一个由列表或数组组成的列表作为索引: data = pd.Series(np.random.randn(9), index=[['a',…
1.介绍 apply函数是pandas里面所有函数中自由度最高的函数.该函数如下: DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds) 该函数最有用的是第一个参数,这个参数是函数,相当于C/C++的函数指针. 这个函数需要自己实现,函数的传入参数根据axis来定,比如axis = 1,就会把一行数据作为Series的数据 结构传入给自己实现的函数中,我们在函数中实现对Ser…
  数据不完整在数据分析的过程中很常见. pandas使用浮点值NaN表示浮点和非浮点数组里的缺失数据. pandas使用isnull()和notnull()函数来判断缺失情况. 对于缺失数据一般处理方法为滤掉或者填充. 滤除缺失数据   对于一个Series,dropna()函数返回一个包含非空数据和索引值的Series,例如: 对于DataFrame,dropna()函数同样会丢掉所有含有空元素的数据,例如:   但是可以指定how='all',这表示只有行里的数据全部为空时才丢弃,例如:…
#!/usr/bin/python import pandas as pd data = {'year':[2000,2001,2002,2001,2002],'value':[1.5,1.7,3.6,2.4,2.9]} frame = pd.DataFrame(data) def testfunc(x, str): #第一个参数代表该函数处理的每一个元素,第二个参数args是传入的参数 print x, str frame['year'].apply(testfunc, args = ('ok…
本文出处:http://www.cnblogs.com/wy123/p/6908377.html NTILE函数可以按照指定的排序规则,对数据按照指定的组数(M个对象,按照某种排序分N个组)进行分组,可以展现出某一条数据被分配在哪个组中. 不仅可以单单利用这个特性,还可以借助该特实现更加有意思的功能. NTILE的基本使用 NTILE的作用是对数据进行整体上的分组,比如有60个学生,按照成绩分成“上中下”三个级别,可以看出那些人位于哪个级别,用NTILE函数就可以实现. 比如这里的简单的示例,有…
一.行多层索引 1.隐式创建 在构造函数中给index.colunms等多个数组实现(datafarme与series都可以) df的多级索引创建方法类似: 2.显式创建pd.MultiIndex 其中.from_arrays为类似上面的参数,推荐使用简单的from_product函数(会自动进行交叉): 二.列多层索引 列多层索引同理:  三.多层索引操作与切片 1.Series多层索引 使用中括号和loc效果完全一样: 切片,只切第一级索引,与之前一致,需要指定某些指定行时,可以通过iloc…
数据分析05 /pandas的高级操作 目录 数据分析05 /pandas的高级操作 1. 替换操作 2. 映射操作 3. 运算工具 4. 映射索引 / 更改之前索引 5. 排序实现的随机抽样/打乱表格数据 6. 数据的分类处理 / 分组 7. 高级数据聚合 8. 数据加载 9. 透视表 10. 交叉表 1. 替换操作 替换操作可以同步作用于Series和DataFrame中 创建df表格数据: import numpy as np import pandas as pd from pandas…
pandas 对象拥有一些常用的数学和统计方法.   例如,sum() 方法,进行列小计:   sum() 方法传入 axis=1 指定为横向汇总,即行小计:   idxmax() 获取最大值对应的索引:   还有一种汇总是累计型的,cumsum(),比较它和 sum() 的区别: unique() 方法用于返回数据里的唯一值:   value_counts() 方法用于统计各值出现的频率:   isin() 方法用于判断成员资格:   安装步骤已经在首篇随笔里写过了,这里不在赘述.利用 Pyt…
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 我们在使用pandas分析处理时间序列数据时,经常需要对原始时间粒度下的数据,按照不同的时间粒度进行分组聚合运算,譬如基于每个交易日的股票收盘价,计算每个月的最低和最高收盘价. 而在pandas中,针对不同的应用场景,我们可以使用resample().groupby()以及Grouper()来非常高效快捷地完成此类任务. 图1 2 在pan…
Flask聚合函数 1.基本聚合函数(sun/count/max/min/avg) 使用聚合函数先导入:from sqlalchemy import func 使用方法: sun():func.sum count():func.count max() min() avg() 语法        注意:使用db.session.query()括号内必须要写东西,不能空着,不然都不知道从哪张表中查询数据 from sqlalchemy import funcdb.session.query(func…