Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带附加列的枢轴表

带附加列的枢轴表
EN

Stack Overflow用户
提问于 2019-04-21 14:12:33
回答 1查看 77关注 0票数 1

让我们有一个2D双数组,如:

代码语言:javascript
运行
AI代码解释
复制
% Data: ID, Index, Weight, Category
A0=[1 1121 204 1;...
    2 2212 112 1;...
    3 2212 483 3;...
    4 4334 233 1;...
    5 4334 359 2;...
    6 4334 122 3 ];

对于每个给定的索引,我需要按权重最高的行进行枢轴/分组,这可以通过任何功能(如枢轴表、SQL或MS Excel PivotTable)来实现。

代码语言:javascript
运行
AI代码解释
复制
% Current Result
A1=pivottable(A0,[2],[],[3],{@max}); % Pivot Table
A1=cell2mat(A1); % Convert to array

>>A1=[1121 204;...
      2212 483;...
      4334 359 ]

如果我还需要恢复ID和类别列,我应该如何进行?

代码语言:javascript
运行
AI代码解释
复制
% Required Result
>>A1=[1 1121 204 1;...
      3 2212 483 3;...
      5 4334 359 2 ];

语法是Matlab,但涉及其他语言(Java、SQL)的解决方案是可以接受的,因为它们可以被转录到Matlab中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-21 14:42:25

您可以在匿名函数中使用splitapply,如下所示。

代码语言:javascript
运行
AI代码解释
复制
grouping_col = 2; % Grouping column
maximize_col = 3; % Column to maximize 
[~, ~, group_label] = unique(A0(:,grouping_col));
result = splitapply(@(x) {x(x(:,maximize_col)==max(x(:,maximize_col)),:)}, A0, group_label);
result = cell2mat(result); % convert to matrix

是如何工作的:匿名函数@(x) {x(x(:,maximize_col)==max(···),:)}splitapply为每个组调用一次。函数作为输入提供一个子矩阵,该子矩阵包含具有索引grouping_col的列的相同值的所有行。然后,这个函数所做的是保留所有使用索引maximize_col最大化列的行,并将其打包到一个单元格中。然后由cell2mat将结果转换为矩阵形式。

使用上面的解决方案,如果每个组有几个最大化行,那么所有的都是生成的。要只保留第一个1,请将最后一行替换为

代码语言:javascript
运行
AI代码解释
复制
result = cell2mat(cellfun(@(c) c(1,:), result, 'uniformoutput', false));

How it :这使用cellfun将匿名函数@(c) c(1,:)应用于每个单元格的内容。函数只保留第一行。或者,要保留最后一个行,请使用@(c) c(end,:)。然后使用cell2mat将结果转换为矩阵形式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55787225

复制
相关文章
带附加头节点的单链表
用户3519280
2023/07/08
1310
如何生成A-AZ列 excel表的列 不用序号的那种?
前几天在Python最强王者交流群【逸】问了一个Pyhton处理Excel的问题,这里拿出来给大家分享下。
前端皮皮
2022/12/19
1.7K0
如何生成A-AZ列 excel表的列 不用序号的那种?
Hash表(二)——散列冲突
在Hash表(一)——Hash函数已经分析了散列冲突产生的原因,我们一般使用开放寻址法和链表法来解决。
用户3470542
2019/07/10
1.4K0
Hash表(二)——散列冲突
如何使用python连接MySQL表的列值?
MySQL 是一个开源关系数据库管理系统,广泛用于存储、管理和组织数据。使用 MySQL 表时,通常需要将多个列值组合成一个字符串以进行报告和分析。Python是一种高级编程语言,提供了多个库,可以连接到MySQL数据库和执行SQL查询。
很酷的站长
2023/08/11
3570
如何使用python连接MySQL表的列值?
R语言入门之频率表和列联表
‍‍‍‍‍‍在这一期我们将要学习如何针对分类变量数据创建频率表和列联表,之后在此基础之上进行独立性检验、关联度测量以及相关数据的可视化。
生信与临床
2020/08/06
2.7K0
R语言入门之频率表和列联表
MySQL 表和列的注释深入理解
像代码一样,可以为表以及表中的列添加注释,方便其他人知晓其功能。对于一些字段,在经过一定时间后,创建者未必也能想起其具体的含意,所以注释显得尤为重要。
星哥玩云
2022/08/17
2K0
函数周期表丨添加列
可以很清楚的看到,新增的计数列每一行的结果都是总计行数,很明显没有进行上下文转换。
PowerBI丨白茶
2021/08/31
1.4K0
函数周期表丨添加列
修改数据表(列操作)
前面有介绍数据的增删改查,是针对具体的数据表格里面的数据; 下面是对列的操作; 修改表名 alter table test rename test1; ------------------------------- 修改表列类型 alter table test modify address char(10) ; Alter table 表名 modify 列名 新类型; ----- 修改表列名与类型; alter table test change column address address
前朝楚水
2018/04/03
1.1K0
PostgreSQL表用户列最大个数
有些业务可能有这么个需求:需要增加用户列,即通过ALTER TABLE ... ADD...来添加用户列。那么PG/GP中是否会有列个数的限制呢?
yzsDBA
2023/09/08
3260
PostgreSQL表用户列最大个数
附加属性
附加属性我们早就使用过,常见的用于控件定位的Grid.Row,Grid.Column就是附加属性,那这个东西具体是什么意思呢?请设想这样的情景:一个学生,他在社团可以是社长,他在班内可以是班长,在赛场又可以是运动员,这些特定的属性,并不是每个学生都具有的,只有学生参与了或者在某个环境中,才具有这样的属性。那我们在定义学生类时,就不能把这些属性定义进去,为了解决这种在某些环境中才具有特定属性的情况,WPF引入了附加属性,附加属性就是一个对象可以被它外部的环境附加某些属性,而对象本身实际上不具有这样的属性。
宿春磊Charles
2021/11/05
8300
Greenplum 列存表(AO表)的膨胀和垃圾检查与空间收缩
Greenplum支持行储存(HEAP储存)与列(append-only)储存,对于AO存储,虽然是appendonly,但实际上GP是支持DELETE和UPDATE的,被删除或更新的行,通过BITMAP来标记删除与修改。AO存储是块级组织,当一个块内的数据大部分都被删除或更新掉时,扫描它浪费的成本实际上是很高的。而PostgreSQL是通过HOT技术以及autovacuum来避免或减少垃圾的。但是Greenplum没有自动回收的worker进程,所以需要人为的触发。接下来就分析AO表与HEAP表的问题以及如何解答,执行空间的释放有3中方法分别是:
小徐
2018/10/12
4.2K2
Greenplum 列存表(AO表)的膨胀和垃圾检查与空间收缩
Greenplum 列存表(AO表)的膨胀和垃圾检查与空间收缩
Greenplum支持行储存(HEAP储存)与列(append-only)储存,对于AO存储,虽然是appendonly,但实际上GP是支持DELETE和UPDATE的,被删除或更新的行,通过visimap来标记记录的可见性和是否已删除。AO存储是块级组织,当一个块内的数据大部分都被删除或更新掉时,扫描它浪费的成本实际上是很高的。而PostgreSQL是通过HOT技术以及autovacuum来避免或减少垃圾的。但是Greenplum没有自动回收的worker进程,所以需要人为的触发。接下来就分析AO表与HEAP表的问题以及如何解答,执行空间的释放有3中方法分别是:
小徐
2020/10/26
2.6K0
Excel中两列(表)数据对比的常用方法
Excel中两列数据的差异对比,方法非常多,比如简单的直接用等式处理,到使用Excel2016的新功能Power Query(Excel2010或Excel2013可到微软官方下载相应的插件)实现各种复杂的数据整理后再进行对比,可以根据实际需要选择使用。
大海Power
2021/08/30
17K0
C++:哈希:闭散列哈希表
哈希表就是通过哈希映射,让key值与存储位置建立关联。比如,一堆整型{3,5,7,8,2,4}在哈希表的存储位置如图所示:
二肥是只大懒蓝猫
2023/03/30
4610
C++:哈希:闭散列哈希表
MySQL查询表位置和列注释等
; # 查询表在哪个数据库与注释 SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_COMMENT FROM information_schema.TABLES WHERE 1=1 # AND TABLE_SCHEMA = '数据库名' AND TABLE_NAME = '表名' # AND TABLE_COMMENT = '表注释' ; # 查询列在哪个表与注释 SELECT c.TABLE_SCHEMA, c.TABLE_NAME, t.TABLE_COMMENT, COL
林万程
2018/06/21
3K0
MySQL 表中非主键列溢出情况监控
今天,又掉坑了。 之前踩到过MySQL主键溢出的情况,通过prometheus监控起来了,具体见这篇MySQL主键溢出复盘
保持热爱奔赴山海
2020/04/12
2.1K0
python3.2列表操作总结
list操作:快速创建list、新增item、删除item、重新赋值item、颠倒item顺序、检索item
py3study
2020/01/09
6130
Python3列表和元组
数据结构是以某种方式组合起来的数据元素的集合。在Python中基本的数据结构就是序列
py3study
2020/01/13
1.3K0
Oracle查询表位置和列注释等
-- 注释 SELECT t.TABLE_NAME, t.COMMENTS, c.COLUMN_NAME, c.COMMENTS FROM USER_COL_COMMENTS c JOIN USER_TAB_COMMENTS t ON c.TABLE_NAME = t.TABLE_NAME WHERE 1 = 1 -- AND t.TABLE_NAME = '' -- AND t.COMMENTS like '%%' -- AND c.COLUMN_NAME = '' --
林万程
2020/06/16
9980
点击加载更多

相似问题

带列前缀的枢轴表熊猫

112

带层次列的熊猫枢轴表

11

如何创建带计算列的枢轴表?

24

Laravel -访问枢轴表中的附加列数据

12

带附加参数的laravel枢轴台

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文