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

Pandas图鉴(四):MultiIndex

你可以在DataFrame从CSV解析出来后指定要包含在索引,也可以直接作为read_csv参数。...作为一维,Series在不同情况下可以作为行向量或向量,但通常被认为是向量(例如DataFrame)。 比如说: 也可以通过名称或位置索引来指定要堆叠/取消堆叠级别。..., src=-2, dst=-1) 交换两个level(默认为最里面的两个级别),inplace和sort参数添加到df.swaplevel pdi.move_level(obj, src, dst...split_level(obj, sep='_', names=None)索引分割成一个索引。 两者都有可选 axis 和 inplace 参数。...一种方法是所有不相关索引层层叠加到行索引,进行必要计算,然后再将它们解叠回来(使用pdi.lock来保持原来顺序)。

40720

直观地解释和可视化每个复杂DataFrame操作

每种方法都将包括说明,可视化,代码以及记住它技巧。 Pivot 透视表创建一个新“透视表”,该透视表数据现有投影为新表元素,包括索引和值。...Unstack 取消堆叠获取索引DataFrame并对其进行堆叠,指定级别的索引转换为具有相应值新DataFrame。在表上调用堆栈后再调用堆栈不会更改该堆栈(原因是存在“ 0 ”)。...可以按照与堆叠相同方式执行堆叠,但是要使用level参数: df.unstack(level = -1)。 Merge 合并两个DataFrame是在共享“键”之间按(水平)组合它们。...为了防止这种情况,请添加一个附加参数join ='inner',该参数 只会串联两个DataFrame共有的。 ? 切记:在列表和字符串,可以串联其他项。...串联是附加元素附加到现有主体上,而不是添加新信息(就像逐联接一样)。由于每个索引/行都是一个单独项目,因此串联将其他项目添加到DataFrame,这可以看作是行列表。

13.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

groupby函数详解

计算各数据总和并作为添加到末尾 df['Col_sum'] = df.apply(lambda x: x.sum(), axis=1) 计算指定下每行数据总和并作为添加到末尾 df_sf...计算各行数据总和并作为新行添加到末尾 df.loc['Row_sum'] = df.apply(lambda x: x.sum()) 计算指定下各行数据总和并作为新行添加到末尾 MT_fs.loc[...()常见用法 函数 适用场景 备注 df.groupby(‘key1’) 一聚合 分组键为列名(可以是字符串、数字或其他Python对象) df.groupby([‘key1’,‘key2’]) 聚合...,(b)若按某聚合,则新DataFrame将是之间维度笛卡尔积,即:新DataFrame具有一个层次化索引(由唯一键对组成),例如:“key1”,有a和b两个维度,而“key2”有one和...two两个维度,则按“key1”和“key2”聚合之后,新DataFrame将有四个group; 注意:groupby默认是在axis=0上进行分组,通过设置axis=1,也可以在其他任何轴上进行分组

3.5K11

Fama French (FF) 三因子模型和CAPM模型分析股票市场投资组合风险收益可视化

当我们投资组合收益率与HML因子进行回归时,我们正在调查有多少收益是由于包括高账面市值比率股票(有时被称为价值溢价,因为高账面市值股票被称为价值股票)。...然而,这些数据已经被转化为字符格式--看看每一类别。 map(Gob3s, class) 我们有两个选项可以这些列强制转换为正确格式。...如果我们导入不同 FF 因子集,我们需要指定不同列名。 作为一种替代方法,下面的代码块在导入后转换为数字,但更通用。它可以应用于其他 FF 因子集合。...Gob3Fars %>% select%>% mutate %>% head 我们还有其他方法可以解决这个问题--一开始,我们就可以将我们投资组合收益率索引到indexAt = firstof...因此,市场因素在该模型占主导地位,而其他两个因素置信区间为零。 ---- 本文摘选《R语言Fama French (FF) 三因子模型和CAPM因素扩展模型分析股票市场投资组合风险/收益可视化》

3.7K30

MySQL 8.0 InnoDB 统计信息机制优化

统计信息会获取非常信息, 包括索引修改时间、大小,等等在诸多统计信息其中Cardinality是一个很特殊维度, 对于Cardinality评估是通过采样评估方式对表每一个索引进行统计...id=98132 整个统计信息刷新过程, 如果是主动发起Analyze table, 会加上 server 层MDL_SHARED_READ锁并且表从Table Definition Cache...8.0 InnoDB统计做了进一步细化,会统计索引页面在缓存Buffer比率,Buffer中一个根据Index ID作为Key哈希结构存储着页面数目,缓存数据和外存冷数据不同,访问代价差别也是巨大...:更新直方图以及drop 直方图,其中更新直方图还可以重新指定bucket数目, 需要注意是直方图不支持加密表, 不支持GIS以及JSON,以及不支持单列唯一索引。...这里有一个问题,如果采样率设置为10%, 那采样只是读前10%记录。更科学做法是在整棵索引树上均匀采样。 在8.0.19之后版本 InnoDB引擎层实现 sample。

20510

数据库之索引总结

如果表查询列有一个索引,mysql能快速到达某个位置去搜索数据文件,而不必查看所有数据。索引是对数据库中一值进行排序一种结构。 二、创建和删除索引 (1)在创建表指定索引。...以其他(非主键)作为搜索条件:只能从最小记录开始依次遍历单链表每条记录。...五、索引降低增删改速度 B+树是平衡树一种。 平衡树:它是一棵空树或它左右两个子树高度差绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。...在创建索引时候,也涉及到一种特殊索引---->覆盖索引。 我们前面知道了,如果不是聚集索引,叶子节点存储是主键+值 最终还是要“回表”,也就是要通过主键再查找一次。...尽量选择区分度高作为索引,区分度公式是 COUNT(DISTINCT col) / COUNT(*)。表示字段不重复比率比率越大我们扫描记录数就越少。

68820

数据库之索引总结

如果表查询列有一个索引,mysql能快速到达某个位置去搜索数据文件,而不必查看所有数据。索引是对数据库中一值进行排序一种结构。 二、创建和删除索引 (1)在创建表指定索引。...以其他(非主键)作为搜索条件:只能从最小记录开始依次遍历单链表每条记录。...五、索引降低增删改速度 B+树是平衡树一种。 平衡树:它是一棵空树或它左右两个子树高度差绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。...在创建索引时候,也涉及到一种特殊索引---->覆盖索引。 我们前面知道了,如果不是聚集索引,叶子节点存储是主键+值 最终还是要“回表”,也就是要通过主键再查找一次。...尽量选择区分度高作为索引,区分度公式是 COUNT(DISTINCT col) / COUNT(*)。表示字段不重复比率比率越大我们扫描记录数就越少。

80230

amos中路径p值_输出无向图路径

即使没有分布假设,临界比率也具有以下解释:对于任何不受约束参数,其临界比率平方大约是在固定该参数固定为零情况下重复进行分析,卡方统计量增加量(其不适用于相关性和标准化回归系数,也不适用于ULS...或SLS估计);“P”就是“p值”,若小于0.001就用“***”表示,说明自变量对因变量有显著性影响;“Label”为“标签”,如果前期已命名参数,则该名称显示在此列。...如有必要,Amos会为我们尚未命名任何参数命名,且这一名称将与我们提供名称一起出现在标签。   ...修改索引大于指定阈值每个参数显示在此处,并在标记为显示:   “M.I”:修改索引   “Par Change”:估计参数变化 2.11 Minimization History   “...其对应着当初“Output”我们勾选的如下两个选项。 2.13 Model Fit   这一部分为模型整体拟合情况衡量参数。关于这一部分参数更为细致介绍请看这篇博客。

2.1K20

Redis 数据结构

在 Redis 内部,字符串追加和长度计算并不少见,而 APPEND 和 STRLEN 更是这两种操 作在 Redis 命令直接映射,这两个简单操作不应该成为性能瓶颈。...Redis 列表使用两种数据结构作为底层实现: 双端链表 压缩列表 使用双端链表占用内存比压缩列表要,所以创建是会优先使用压缩列表,在具体需要场景 转化成双端链表。... ht[0]->table 所有键值对迁移到 ht[1]->table ; ?...因为字典会保持哈希表大小和节点数比率在一个很小范围内,所以每个索引节点数量 不会很多(从目前版本 rehash 条件来看,平均只有一个,最多通常也不会超过五个),所以 在执行操作同时,对单个索引节点进行迁移...当这个索引迭代完了,继续查找下一个不为空索引,如此循环,一直到整个哈希表都迭 代完为止 字典迭代器有两种: 安全迭代器:在迭代进行过程,可以对字典进行修改。

68030

基于Amos路径分析输出结果参数详解

内生变量就是被其它自变量预测变量,可以认为相当于是一个因变量;但要注意,尽管内生变量多作为因变量,但也可能作为影响他人自变量,例如本文中内生变量POI,可以影响Temp,又受到GAIA与RoDen...即使没有分布假设,临界比率也具有以下解释:对于任何不受约束参数,其临界比率平方大约是在固定该参数固定为零情况下重复进行分析,卡方统计量增加量(其不适用于相关性和标准化回归系数,也不适用于ULS...或SLS估计);“P”就是“p值”,若小于0.001就用“***”表示,说明自变量对因变量有显著性影响;“Label”为“标签”,如果前期已命名参数,则该名称显示在此列。...修改索引大于指定阈值每个参数显示在此处,并在标记为显示:   “M.I”:修改索引。   “Par Change”:估计参数变化。 ?...2.12 Pairwise Parameter Comparisons   这一模块为模型全部参数两两比较,包括方差/协方差与相关系数。其对应着当初“Output”我们勾选的如下两个选项。 ?

3.6K30

Pandas

进行切片,对行指定要使用索引或者条件,对索引必须使用列名称,如果有,则还需要借助[]列名称括起来。...the rows into the columns(行索引变为取值) 两个函数默认都从最低level开始操作,然后转换为另外一个轴最低层级,可以传入 df 层级名称或者数字来强制修改操作层级,...,也可以指定 level 参数 调整 as_index 参数返回不带行标签索引结果(取消两个及以上分组键分组结果多级索引) 调整 group_keys 参数,决定是否显示分组键索引 一般用分组键取值作为索引...以加法为例,它会匹配索引相同(行和进行算术运算,再将索引不匹配数据视作缺失值,但是也会添加到最后运算结果,从而组成加法运算结果。...(),这个是用来转化一: pd.melt(df, id_vars=['key'], value_vars=['A', 'B']) 该函数最后返回是一个以id_vars列作为索引,以value_vars

9.1K30

POSTGRESQL 系统表 一个神秘花园

尽管PostgreSQL像其他应用程序一样所有这些信息存储在表,但表数据完全由PostgreSQL自己管理,除非绝对紧急情况,否则不应修改这些数据。...,这两个分别包含数据库提交和回滚事务数。...这将有助于显示数据库有活跃,以及发现那些可能以惊人速度出错/回滚程序可能出现故障。关于是否从磁盘或内存检索数据信息存储在blks_read和blks_hit。...如果我们要从这些表查找特定数据,我们必须确保在发出查询时连接到正确数据库。 关于用户表元数据存储在以下两个,它们分别对应于系统创建每个用户表。...我们还可以创建一个随时间变化内存与磁盘比率,如果该比率在一天任何时候下降,我们就可以精确地确定这个比率

1.8K30

BAT面试题53:了解如何重置索引和多级索引吗?

也就是说,真正数据为剩余区域。 01 现在,我们想重置上面说到行、索引。Pandas实现行索引重置功能API:reset_index: 函数原型如下: ? 参数如下: ?...level参数为:多级索引才会用到,一般常见都为单级索引;drop控制行索引是否添加到数据;inplace:是否改变发生在数据本身;col_level:多级插入标签到哪一个;col_fill:其他级怎么被...上面的df,执行此API操作后,变为如下:默认行索引进入到数据。 ?...可以看到新增 class自动被并入col_level=0,即与speed,species对齐。如果我想与max,type对齐,借助col_level参数: ?...col_level为0重命名,借助col_fill参数: ? 以上,Pandas框架下索引重置,多级索引用法。

71420

Pandas知识点-排序操作

索引进行排序 ? sort_index(): 对DataFrame按索引排序。 一般情况下DataFrame索引都是单列索引,即数值型索引或指定某一作为索引。...axis: 排序默认是按行索引排序(对每一行数据排序),axis参数默认为0,axis参数设置成1则按索引排序(对每一数据排序)。不过,在实际应用,对排序情况是极少。...当多重索引不止两个索引时,如果level指定索引排序升降不一致(有升序有降序),即使sort_remaining为True,剩余索引也不会继续排序。...例如多重索引中有三个行索引level指定了按前两个索引排序,一个是升序一个是降序,此时即使sort_remaining为True,也不会继续按第三个行索引排序。不过,在实际应用,这种情况极少。...na_position参数只支持按单列排序时使用,在按多重索引或按排序时无效。

1.7K30

数据分析索引总结(下)Pandas索引技巧

使用表内列作为索引: df.head() df设置为索引, 参数 drop 默认丢弃原来索引。...df.set_index('Class').head() 利用append参数可以当前索引维持不变 这种情况下会把新索引作为次级索引。...1索引(也就是次级索引)重置为, 原来次级索引作为索引编号为0(也就是索引顶级索引),这时该次级索引为空。...,例如需要保留每组第一个值: df.drop_duplicates('Class') 上边有些类似于mysql按某groupby之后,还能选择其他非分组。...df.drop_duplicates('Class',keep='last') 在传入时等价于共同视作一个多级索引,比较重复项: df.drop_duplicates(['School','Class

2.7K20

用 PyQt 打造具有专业外观 GUI

在这种情况下,使用QVBoxLayout是因为您希望小部件垂直排列在窗体上。在您模型,这是蓝色布局。 在第19行,您创建一个表单布局来保存标签和行编辑。 在第21行,所需小部件添加到布局。...在.switchPage()内部,您在布局对象上调用.setCurrentIndex(),组合框的当前索引作为参数传递。这样,当用户更改组合框选项时,堆叠版式上页面将相应地更改。...在第27至32行上,第一页添加到布局,在第34至39行上,第二页添加到布局。每个页面都由一个QWidget对象表示,该对象以方便布局包含多个小部件。...使一切正常运行最后一步是组合框和布局添加到应用程序主布局。 现在,您应用程序行为如下: ? 在这种情况下,您应用程序布局中有两个页面。每个页面由一个QWidget对象表示。...然后,使用.addTab()两个选项卡添加到选项卡小部件。 在.generalTabUI()和networkTabUI(),为每个选项卡创建特定GUI。

2.7K30

Python 数据分析(PYDA)第三版(四)

使用 DataFrame 进行索引 希望使用一个或多个 DataFrame 列作为索引并不罕见;或者,您可能希望索引移入 DataFrame 。...必须在两个 DataFrame 对象中找到。如果未指定并且没有给出其他连接键,则将使用left和right列名交集作为连接键。 left_on 用作连接键left DataFrame 。...有两个主要操作: stack 这将从数据旋转或旋转到行。 unstack 这将从行旋转到。 我通过一系列示例来说明这些操作。...数据经常以这种方式存储在关系型 SQL 数据库,因为固定模式(列名和数据类型)允许item不同值数量随着数据添加到而改变。...您可以从其基本组件组装图表:数据显示(即绘图类型:线条、柱状图、箱线图、散点图、等高线图等)、图例、标题、刻度标签和其他注释。 在 pandas ,我们可能有数据,以及行和标签。

19900

MySQL干货你了解吗?

,节点只包含id索引,而叶子节点包含索引和数据,这种数据和索引在一起存储索引方式叫做聚簇索引,一张表只能有一个聚簇索引。...假设没有定义主键,InnoDB会选择一个唯一非空索引代替,如果没有的话则会隐式定义一个主键作为聚簇索引。 ? 这是主键聚簇索引存储结构,那么非聚簇索引结构是什么样子呢?...尽量选择区分度高作为索引,区分度公式是 COUNT(DISTINCT col)/COUNT(*)。表示字段不重复比率比率越大我们扫描记录数就越少。 索引不能参与计算,尽量保持“干净”。...单个组合索引和多个单列索引检索查询效果不同,因为在执行SQL时,MySQL只能使用一个索引,会从多个单列索引中选择一个限制最为严格索引(经指正,在MySQL5.0以后版本,有“合并索引策略...“合并索引”策略简单来讲,就是使用多个单列索引,然后这些结果用“union或者and”来合并起来 4. 锁类型有哪些呢 mysql锁分为共享锁和排他锁,也叫做读锁和写锁。

71820

Polardb X-engine 如何服务巨量数据情况下业务 (翻译)- 3

读路径:从数据结构设计开始,包含了extent ,缓存和索引,对于每个数据结构,我们介绍他如何在读路径中提供快速查找。...下图中显示了一个extent结构,包含了数据块,块索引,记录以行导向方式存储在数据块,模式数据跟踪每个类型,块索引保存每个数据块偏移量,在我们生产系统的当前部署,我们需要将一个extent...我们在每个extent存储带有版本信息数据,来加速DDL操作,通过这样设计将在新添加到,我们只需要做是对具有新版本extent部分更新此列,而无需修改任何吸纳有的extent,当查询读取具有不同版本模式...上图展示了X-Engine版本源数据库索引结构,每个字表LSM-TREE 都有其关联园数据库索引,他从根节点开始,索引每次修改都会创建一个新元数据快照,该快照只想所有关联层次和内存表,而不修改现有的源数据库快照节点...Level1,level1元数据秩序员指向extent, 这里并未在磁盘中移动数据,从而保留了所有缓存内容完整性,利用这种鞋时复制方法,事务可以以制度方式访问他们想要任何版本,而无需再数据访问期间锁定索引

8710
领券