首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

alphalens教程1--整理好你的数据

prices : pd.DataFrame 通常是一个列数很多的dataframe的数据结构,如下图所示,列名是股票代码,index是日期。 ?...groupby : pd.Series - MultiIndex or dict groupby是一个MultiIndex 的series或者一个dict,通常用dict更加直观,而且这两者也是可以相互转换的...,也可以用一个列表,用来分不同的分层比例,例如 [0, .10, .5, .90, 1.] or [.05, .5, .95] bins : int or sequence[float] 与quantiles...所以,两者直接只能选一个,另外一个必须设置为None periods : sequence[int] 调仓周期设置 filter_zscore : int or float 设置收益率异常值的阈值为多少倍标准差...返回值是pd.DataFrame - MultiIndex,包含每个调仓周期的收益率,因子值,所属group(这里是行业),以及分层的次序。 ? ?

5K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    pandas按行按列遍历Dataframe的几种方式

    遍历数据有以下三种方法: 简单对上面三种方法进行说明: iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Series)对,可以通过row[name]对元素进行访问。...itertuples(): 按行遍历,将DataFrame的每一行迭代为元祖,可以通过row[name]对元素进行访问,比iterrows()效率高。...iteritems():按列遍历,将DataFrame的每一列迭代为(列名, Series)对,可以通过row[index]对元素进行访问。...import pandas as pd inp = [{‘c1’:10, ‘c2’:100}, {‘c1’:11, ‘c2’:110}, {‘c1’:12, ‘c2’:123}] df = pd.DataFrame..., ‘name’) for row in df.itertuples(): print(getattr(row, ‘c1’), getattr(row, ‘c2’)) # 输出每一行 1 2 按列遍历

    7.1K20

    pandas多级索引的骚操作!

    我们知道dataframe是一个二维的数据表结构,通常情况下行和列索引都只有一个。但当需要多维度分析时,我们就需要添加多层级索引了。在关系型数据库中也被叫做复合主键。...比如,下面这个数据是高考录取分数线,行索引是地区、学校,列索引是年份、专业,分别对应1级和2级索引,因此共有四个维度。 1、多层级索引创建 多级索引的创建分两种情况。...因为两种情况建立多级索引的方法不同,下面分情况来介绍。 01 新建多级索引 当只有数据没有索引时,我们需要指定索引值,比如下图。...]]) print(df) 有四种创建多级层级的方法:MultiIndex.from_arrays,MultiIndex.from_product,MultiIndex.from_tuples,MultiIndex.from_frame...2、多层级索引筛选 通过MultiIndex访问dataFrame的好处是,可以很容易地一次引用所有层次(可能会省略内部层次),语法简单方便。 这里通过.loc查询方法进行举例。

    1.5K31

    数据处理利器pandas入门

    数据统计信息 获取每一列的统计相关数据,count表示一列的行数,mean表示均值,std为标准差,min和max表示最小值和最大值,25%,50%和75%分别表示1/4位数,中位数和3/4位数。...均包含一些常用的统计计算方法,比如: data.mean() # 计算平均值 data.sum() # 求和 data.std() # 计算标准差 data.median() # 获取中位数...旋转完成之后返回的DataFrame的列为 MultiIndex。而关于 MultiIndex 的查询操作属于高级主题。...索引切片: 可以理解成 idx 将 MultiIndex 视为一个新的 DataFrame,然后将上层索引视为行,下层索引视为列,以此来进行数据的查询。...上述操作返回的列仍然是 MultiIndex,因为此时只有一个站点了,我们可以使用 .xs 方法将列从MultiIndex转换为Index。

    3.7K30

    Pandas图鉴(四):MultiIndex

    你可以在DataFrame从CSV解析出来后指定要包含在索引中的列,也可以直接作为read_csv的参数。...我们看看文档中对命名规则的描述: "这个函数是通过类比来命名的,即一个集合被重新组织,从水平位置上的并排(DataFrame的列)到垂直方向上的堆叠(DataFrame的索引中)。"...作为一维的,Series在不同情况下可以作为行向量或列向量,但通常被认为是列向量(例如DataFrame的列)。 比如说: 也可以通过名称或位置索引来指定要堆叠/取消堆叠的级别。...手动解读MultiIndex列的层数并不方便,所以更好的办法是在将DataFrame保存为CSV之前,将所有的列头层数stack(),而在读取之后再将其unstack()。...官方Pandas文档有一个表格[4],列出了所有~20种支持的格式。 多指标算术 在整体使用多索引DataFrame的操作中,适用与普通DataFrame相同的规则(见第三部分)。

    62120

    【数据处理包Pandas】多级索引的创建及使用

    import numpy as np import pandas as pd 一、元组作为一级索引 如果想产生如下图所示的学生成绩表: 因为 DataFrame 的行索引/列索引要求是不可变的,因此考虑使用元组做索引是很自然的选择...相当于scores.loc[2017,1],此时会把2017看成行索引,1看成列索引,而行索引没有2017 对于 DataFrame,应该在元组的外面再加一层中括号,写成: scores.loc[[(2017,1...)]] 当然用位置标签是最简单的: scores.iloc[2,:] 3、查询王亮2017第1学期的成绩 如果用 DataFrame 直接做查询,则表示行索引和列索引的元组外都要多加一层中括号,需要写成...创建 MultiIndex 对象和 DataFrame 对象 t1 = pd.MultiIndex.from_tuples(s_index) t1 MultiIndex(levels=[[2016, 2017...t1,columns=t2) scores 2、使用pd.MultiIndex.from_arrays创建 MultiIndex 对象和 DataFrame 对象 a1 = pd.MultiIndex.from_arrays

    2100

    【原创佳作】介绍Pandas实战中一些高端玩法

    相信大家平常在工作学习当中,需要处理的数据集是十分复杂的,数据集当中的索引也是有多个层级的,那么今天小编就来和大家分享一下DataFrame数据集当中的分层索引问题。...什么是多重/分层索引 多重/分层索引(MultiIndex)可以理解为堆叠的一种索引结构,它的存在为一些相当复杂的数据分析和操作打开了大门,尤其是在处理高纬度数据的时候就显得十分地便利,我们首先来创建带有多重索引的...DataFrame数据集 多重索引的创建 首先在“列”方向上创建多重索引,即我们在调用columns参数时传递两个或者更多的数组,代码如下 df1 = pd.DataFrame(np.random.randint...,分别是 pd.MultiIndex.from_arrays pd.MultiIndex.from_frame pd.MultiIndex.from_tuples pd.MultiIndex.from_product...']) output 另外还有axis参数来指定是获取“列”方向还是“行”方向上的数据,例如我们想要获取“Weather”这一列的数据,代码如下 df.xs('Weather', level=1,

    69510

    数据科学 IPython 笔记本 7.8 分层索引

    作为额外维度的MultiIndex 你可能会注意到其他内容:我们可以使用带有索引和列标签的简单DataFrame,来轻松存储相同的数据。事实上,Pandas 的构建具有这种等价关系。...具体而言,我们可能希望,每年为每个州添加另一列人口统计数据(例如,18 岁以下的人口); 使用MultiIndex就像在DataFrame中添加另一列一样简单: pop_df = pd.DataFrame...列的MultiIndex 在DataFrame中,行和列是完全对称的,就像行可以有多个索引层次一样,列也可以有多个层次。...在人口字典上调用它将产生一个带有state和year列的DataFrame,包含以前在索引中的信息。...,原始输入数据看起来像这样,从列值构建MultiIndex会有用。

    4.3K20

    数据导入与预处理-第6章-02数据变换

    均值标准化(规范化) 零-均值规范化:也叫标准差标准化,经过处理的数据的平均数为0,标准差为1。...基于列值重塑数据(生成一个“透视”表)。使用来自指定索引/列的唯一值来形成结果DataFrame的轴。此函数不支持数据聚合,多个值将导致列中的MultiIndex。...pivot()函数如下: DataFrame.pivot(index=None, columns=None, values=None) index:表示新生成对象的行索引,若未指定说明使用现有对象的行索引...columns:表示新生成对象的列索引。 values :表示填充新生成对象的值。 要想了解pivot()函数,可以先了解下pivot_table()函数。...,但代表特征的数据不一定都是数值类型的,其中一部分是类别型的,例如,受教育程度表示方式有大学、研究生、博士等类别,这些类别均为非数值类型的数据。

    19.3K20

    pandas学习-索引-task13

    通过 [列名] 可以从 DataFrame 中取出相应的列,返回值为 Series ,例如从表中取出姓名一列:  df = pd.read_csv("E:/document/python学习笔记/pandas...与单层索引的表一样,具备元素值、行索引和列索引三个部分。其中,这里的行索引和列索引都是 MultiIndex 类型,只不过 索引中的一个元素是元组 而不是单层索引中的标量。...与单层索引类似, MultiIndex 也具有名字属性,图中的 School 和 Gender 分别对应了表的第一层和第二层行索引的名字, Indicator 和 Grade 分别对应了第一层和第二层列索引的名字...方法完全可以照搬,只需把标量的位置替换成对应的元组,不过在索引前最好对 MultiIndex 进行排序以避免性能警告: df_multi = df_multi.sort_index() print(df_multi.loc...例如,下面的表中给出了员工信息,需要重新制作一张新的表,要求增加一名员工的同时去掉身高列并增加性别列:  df_reindex = pd.DataFrame({"Weight":[60,70,80],

    92300

    【数据处理包Pandas】数据透视表

    ,需要用level参数指定; (2)set_index可以把普通的列变成索引(如果是多个普通的列就会变成多级索引),而reset_index可以索引还原成普通的列,并用0开始的整数序列作为新索引; (3...第1个参数是data参数,提供了绘制数据透视表的数据来源,可以是整个 DataFrame,也可以是 DataFrame 的子集;index和columns参数指定了行分组键和列分组键;values指定想要聚合的数据字段名...、数组或DataFrame列。...columns:要在列上进行分组的序列、数组或DataFrame列。 values:可选参数,要聚合的值列。如果未指定,则将计算所有剩余列的计数/频率。...如果为True,则返回相对频率(百分比形式)。如果为’all’,则在每个索引/列组中返回全局相对频率。

    7400
    领券