将 4 个表合并为一个,每个表为一列?

伊帕

在 Matlab 中有 4 个表(ABCD),有 102 列(例如XYWZ),全部包含 52000 行(例如0,1,2,...)。

我想将它们合并到一个包含所有数据的大表中。

这是我想要的输出:


T   Column_names   A    B    C     D  

0       X          a(0)  b(0)  c(0)  d(0)
0       Y          a(0)  b(0)  c(0)  d(0)
0       W          a(0)  b(0)  c(0)  d(0)
0       Z          a(0)  b(0)  c(0)  d(0)
1       X          a(1)  b(1)  c(1)  d(1)
1       y          a(1)  b(1)  c(1)  d(1)
1       w          a(1)  b(1)  c(1)  d(1)
1       z          a(1)  b(1)  c(1)  d(1)
2    ...
...
沃尔菲

我创建了一个包含 3 个表 ( A,B,C)的示例,每个有 3 列 ( X,Y,Z) 和 4 行。

然后以下步骤实现你想要的......

  1. 添加行索引很简单T

  2. 然后,您可以使用stack堆叠的列(并标记为新列)来创建一个高大的表格

  3. 最后outerjoin将所有表合并在一起。您可以将它们连接起来,但这有两个缺点

    • 您将不得不处理重复的列名
    • 您必须假设行的顺序相同。

代码如下,详情请看评论。

% Dummy data
X = (1:12).';
Y = rand(12,1);
Z = primes(40).';
% Create tables with 4 rows each
A = table( X(1:4), Y(1:4), Z(1:4), 'VariableNames', {'X','Y','Z'} );
B = table( X(5:8), Y(5:8), Z(5:8), 'VariableNames', {'X','Y','Z'} );
C = table( X(9:12), Y(9:12), Z(9:12), 'VariableNames', {'X','Y','Z'} );

% Add the row index T
A.T = (1:size(A,1)).';
B.T = (1:size(B,1)).';
C.T = (1:size(C,1)).';

% Joining
% First, stack the tables to get column names as a column
As = stack( A, {'X','Y','Z'}, 'IndexVariableName', 'Column_names', 'NewDataVariableName', 'A' );
Bs = stack( B, {'X','Y','Z'}, 'IndexVariableName', 'Column_names', 'NewDataVariableName', 'B' );
Cs = stack( C, {'X','Y','Z'}, 'IndexVariableName', 'Column_names', 'NewDataVariableName', 'C' );

% Now just concatenate the tables.
% We can do this robustly with a 'join'.
tbls = {As,Bs,Cs};
% Loop over the tables for greatest flexibility
output = tbls{1};
for ii = 2:numel(tbls)
    output = outerjoin( output, tbls{ii}, 'Keys', {'T','Column_names'}, 'MergeKeys', true );
end

输出:

输出

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据同一列将两个表合并为一个表

来自分类Dev

将n张工作表的第一列合并为一个colume

来自分类Dev

如何将4列数据合并为一个列?

来自分类Dev

将多个表合并为一个结构表

来自分类Dev

使用Rails 4 Activerecord将多个列数合并为一个查询

来自分类Dev

如何将 4 个表中的多行合并为 SQL 中新表中的一行?

来自分类Dev

将多个列表合并为一个,按特定列分组,将每个分组结果转换为HTML表

来自分类Dev

将表数据合并为一个

来自分类Dev

将工作表合并为一个

来自分类Dev

将多个sql表结果合并为一个

来自分类Dev

将两个表中的两列合并为一个

来自分类Dev

使用Oracle将2个列从联结表合并为一个

来自分类Dev

Python:如何将4个小矩阵合并为一个大矩阵

来自分类Dev

Neo4J Cypher将2个查询合并为一个

来自分类Dev

R将几个列联表合并为一个

来自分类Dev

通过终端将多个mp4文件合并为一个视频

来自分类Dev

使用Ransack和Rails 4将多个搜索表单结果合并为一个

来自分类Dev

Javascript 将 4 个数组的值合并为一个对象

来自分类Dev

如何将 3 或 4 个数组合并为一个

来自分类Dev

将2个表的开始日期和结束日期合并为一个表

来自分类Dev

将两个边界合并为一个并将每个功能设置为悬停

来自分类Dev

将两个表合并为一个表,两个表具有不同的where子句

来自分类Dev

将主表和明细表合并为一个表

来自分类Dev

如何将多个表合并为一个表,以使列名成为行名?

来自分类Dev

VBA脚本将多个Excel工作表合并为一个工作表

来自分类Dev

sql server-将表合并为一个表

来自分类Dev

将主表和明细表合并为一个表

来自分类Dev

将两个两字段表合并为一个多字段,其中第一个字段为键

来自分类Dev

可以将4个查询合并为一个没有多个条件的子查询吗?

Related 相关文章

  1. 1

    根据同一列将两个表合并为一个表

  2. 2

    将n张工作表的第一列合并为一个colume

  3. 3

    如何将4列数据合并为一个列?

  4. 4

    将多个表合并为一个结构表

  5. 5

    使用Rails 4 Activerecord将多个列数合并为一个查询

  6. 6

    如何将 4 个表中的多行合并为 SQL 中新表中的一行?

  7. 7

    将多个列表合并为一个,按特定列分组,将每个分组结果转换为HTML表

  8. 8

    将表数据合并为一个

  9. 9

    将工作表合并为一个

  10. 10

    将多个sql表结果合并为一个

  11. 11

    将两个表中的两列合并为一个

  12. 12

    使用Oracle将2个列从联结表合并为一个

  13. 13

    Python:如何将4个小矩阵合并为一个大矩阵

  14. 14

    Neo4J Cypher将2个查询合并为一个

  15. 15

    R将几个列联表合并为一个

  16. 16

    通过终端将多个mp4文件合并为一个视频

  17. 17

    使用Ransack和Rails 4将多个搜索表单结果合并为一个

  18. 18

    Javascript 将 4 个数组的值合并为一个对象

  19. 19

    如何将 3 或 4 个数组合并为一个

  20. 20

    将2个表的开始日期和结束日期合并为一个表

  21. 21

    将两个边界合并为一个并将每个功能设置为悬停

  22. 22

    将两个表合并为一个表,两个表具有不同的where子句

  23. 23

    将主表和明细表合并为一个表

  24. 24

    如何将多个表合并为一个表,以使列名成为行名?

  25. 25

    VBA脚本将多个Excel工作表合并为一个工作表

  26. 26

    sql server-将表合并为一个表

  27. 27

    将主表和明细表合并为一个表

  28. 28

    将两个两字段表合并为一个多字段,其中第一个字段为键

  29. 29

    可以将4个查询合并为一个没有多个条件的子查询吗?

热门标签

归档