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(这里是行业),以及分层的次序。 ? ?
参考链接: 在Pandas DataFrame中处理行和列 在print时候,df总是因为数据量过多而显示不完整。 ...解决方法如下: #显示所有列 pd.set_option('display.max_columns', None) #显示所有行 pd.set_option('display.max_rows', None...) #设置value的显示长度为100,默认为50 pd.set_option('max_colwidth',100) 可以参看官网上的资料,自行选择需要修改的参数: https://pandas.pydata.org
现在,我们只知道其中最高的牛是第 P 头,它的身高是 H ,剩余牛的身高未知。 但是,我们还知道这群牛之中存在着 M 对关系,每对关系都指明了某两头牛 A 和 B 可以相互看见。...第 i 行输出的整数代表第 i 头牛可能的最大身高。...,就是不断的构造。...先将每个牛的高度都设为最高的牛的高度,然后根据题意描述将[l,r]中区间的高度减1,。...需要注意的是,由于题目中要求的是尽可能的最大,所以有可能两头牛之间已经能够看见,这时就不用相减了,因为这个原因WA了几次。
遍历数据有以下三种方法: 简单对上面三种方法进行说明: 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 按列遍历
我们知道dataframe是一个二维的数据表结构,通常情况下行和列索引都只有一个。但当需要多维度分析时,我们就需要添加多层级索引了。在关系型数据库中也被叫做复合主键。...比如,下面这个数据是高考录取分数线,行索引是地区、学校,列索引是年份、专业,分别对应1级和2级索引,因此共有四个维度。 1、多层级索引创建 多级索引的创建分两种情况。...因为两种情况建立多级索引的方法不同,下面分情况来介绍。 01 新建多级索引 当只有数据没有索引时,我们需要指定索引值,比如下图。...]]) print(df) 有四种创建多级层级的方法:MultiIndex.from_arrays,MultiIndex.from_product,MultiIndex.from_tuples,MultiIndex.from_frame...2、多层级索引筛选 通过MultiIndex访问dataFrame的好处是,可以很容易地一次引用所有层次(可能会省略内部层次),语法简单方便。 这里通过.loc查询方法进行举例。
数据统计信息 获取每一列的统计相关数据,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。
spark 计算两个dataframe 的差集、交集、合集,只选择某一列来对比比较好。新建两个 dataframe : import org.apache.spark....(2, "2143"), (4, "f8934y") )).toDF("label", "sentence") sentenceDataFrame1.show() } 差集
你可以在DataFrame从CSV解析出来后指定要包含在索引中的列,也可以直接作为read_csv的参数。...我们看看文档中对命名规则的描述: "这个函数是通过类比来命名的,即一个集合被重新组织,从水平位置上的并排(DataFrame的列)到垂直方向上的堆叠(DataFrame的索引中)。"...作为一维的,Series在不同情况下可以作为行向量或列向量,但通常被认为是列向量(例如DataFrame的列)。 比如说: 也可以通过名称或位置索引来指定要堆叠/取消堆叠的级别。...手动解读MultiIndex列的层数并不方便,所以更好的办法是在将DataFrame保存为CSV之前,将所有的列头层数stack(),而在读取之后再将其unstack()。...官方Pandas文档有一个表格[4],列出了所有~20种支持的格式。 多指标算术 在整体使用多索引DataFrame的操作中,适用与普通DataFrame相同的规则(见第三部分)。
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
相信大家平常在工作学习当中,需要处理的数据集是十分复杂的,数据集当中的索引也是有多个层级的,那么今天小编就来和大家分享一下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,
作为额外维度的MultiIndex 你可能会注意到其他内容:我们可以使用带有索引和列标签的简单DataFrame,来轻松存储相同的数据。事实上,Pandas 的构建具有这种等价关系。...具体而言,我们可能希望,每年为每个州添加另一列人口统计数据(例如,18 岁以下的人口); 使用MultiIndex就像在DataFrame中添加另一列一样简单: pop_df = pd.DataFrame...列的MultiIndex 在DataFrame中,行和列是完全对称的,就像行可以有多个索引层次一样,列也可以有多个层次。...在人口字典上调用它将产生一个带有state和year列的DataFrame,包含以前在索引中的信息。...,原始输入数据看起来像这样,从列值构建MultiIndex会有用。
np.logical_or() 或 4.统计运算 min max midian mean std -- 标准差...3.矩阵向量(矩阵)乘法[*****] [M行, N列]*[N行, L列] = [M行, L列] 4.矩阵乘法性质 1.满足结合律,不满足交换律...用于数据探索 封装了matplotlib,numpy 2.案例知识点 1.创建DataFrame pd.DataFrame...对象.values 对象.T 对象.head() 对象.tail() 2.dataframe...multiIndex 4.MultiIndex和panel -- 类比三维数组[**] 1.MultiIndex 对象.index
均值标准化(规范化) 零-均值规范化:也叫标准差标准化,经过处理的数据的平均数为0,标准差为1。...基于列值重塑数据(生成一个“透视”表)。使用来自指定索引/列的唯一值来形成结果DataFrame的轴。此函数不支持数据聚合,多个值将导致列中的MultiIndex。...pivot()函数如下: DataFrame.pivot(index=None, columns=None, values=None) index:表示新生成对象的行索引,若未指定说明使用现有对象的行索引...columns:表示新生成对象的列索引。 values :表示填充新生成对象的值。 要想了解pivot()函数,可以先了解下pivot_table()函数。...,但代表特征的数据不一定都是数值类型的,其中一部分是类别型的,例如,受教育程度表示方式有大学、研究生、博士等类别,这些类别均为非数值类型的数据。
通过 [列名] 可以从 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],
DataFrame多层索引 多层索引简介 众所周知Pandas的Series和DataFrame存放的是一维和二维数组,那么想存放多维数组就得通过多层索引来实现。...#通过xs对多层索引对象的索引和列分别访问。...注:1这里的xs的参数axis='columns' 和axis=1等价,为列方向,axis='index' 和axis=0等价为索引方向。...#注意,当前多层索引为学期周期、年份、难度,学生数据(列)为姓名、分数。 #查询层年份(2011年)和等级(B)对应的数据。...的T方法对原有的多层索引进行转置,即原有的列为索引,索引合并为列。
,需要用level参数指定; (2)set_index可以把普通的列变成索引(如果是多个普通的列就会变成多级索引),而reset_index可以索引还原成普通的列,并用0开始的整数序列作为新索引; (3...第1个参数是data参数,提供了绘制数据透视表的数据来源,可以是整个 DataFrame,也可以是 DataFrame 的子集;index和columns参数指定了行分组键和列分组键;values指定想要聚合的数据字段名...、数组或DataFrame列。...columns:要在列上进行分组的序列、数组或DataFrame列。 values:可选参数,要聚合的值列。如果未指定,则将计算所有剩余列的计数/频率。...如果为True,则返回相对频率(百分比形式)。如果为’all’,则在每个索引/列组中返回全局相对频率。
小K的农场 跑最长路 1 a-b>=c 建立b到a权值为c的路 2 a-b b-a>=-c 建立a到b权值为-c的路 3 a=b 建立a到b,b到a的双向权值为0的路 问满足以上所有条件的情况是否存在
在列中具有MultiIndex的情况下的DataFrame。 如果列具有MultiIndex,您可以选择堆叠哪个级别。...也可以将DataFrame中的列展开。...DataFrame 有多列值,这些值不用作 pivot() 的列或索引输入,则生成的“透视” DataFrame 将具有分层列,其最顶层指示相应的值列: In [5]: df["value2"] = df...在列方向上是 MultiIndex 的情况下,一个DataFrame。 如果列有一个MultiIndex,您可以选择堆叠哪个级别。...也可以将 DataFrame 中的列扩展。
其中Series是一维数据结构,DataFrame是二维的表格型数据结构,MultiIndex是三维的数据结构。...,这样DataFrame就变成了一个具有MultiIndex的DataFrame。...1.2.3 MultiIndex与Panel (1)MultiIndex MultiIndex是三维的数据结构; 多级索引(也称层次化索引)是pandas的重要功能,可以在Series、DataFrame...3D数据的方法是通过DataFrame上的MultiIndex方法。...思路分析 1、创建一个全为0的dataframe,列索引置为电影的分类,temp_df 2、遍历每一部电影,temp_df中把分类出现的列的值置为1 3、求和 思路 下面接着看: 1、创建一个全为0的dataframe
分 Series.dt.second # The seconds of the datetime....DataFrame具有以下特点: 列和列之间可以是不同的类型 :不同的列的数据类型可以不同 大小可变 (扩容) 标记轴(行级索引 和 列级索引) 针对行与列进行轴向统计(水平,垂直) import pandas...⭐️核心数据结构操作 行和列的增删改查 列访问 DataFrame的单列数据为一个Series。...根据DataFrame的定义可以 知晓DataFrame是一个带有标签的二维数组,每个标签相当每一列的列名。...2. 85是期望值, 3是标准差 标准差越大,离散程度越大 3. (6,3) 6行3列的数据 4. np.floor 向下取整 """ df = pd.DataFrame
领取专属 10元无门槛券
手把手带您无忧上云