matlab - 如何从表格在matlab中制作数据透视表

标签 matlab pivot-table

有没有一种简单的方法可以从 matlab table 在 matlab 中制作数据透视表? 如 Excel 或 Python 中的 pandas.pivot_table?我找到了 pivottable.m在文件交换上,但它不适用于 tables

这是一个例子,如果我有一个表t:

name     value
_____    _____

'Foo'     0   
'Bar'    -1   
'Bar'     5   
'Foo'     1   

我想在 name 列上聚合,使用 @sum 函数,得到:

name     sum_of_value
_____    ________

'Bar'    4       
'Foo'    1   

有没有简单的方法做到这一点?

最佳答案

您可以将 grpstats 用于简单的汇总表。 但是,使用 unstack 获得更复杂的枢轴。

% Example: Create columns from Var1, summing the values for each date:

T = 
    date        item      value
    ________    _______   _______
    2015.2      a         1
    2015.2      a         1
    2015.2      b         1
    2015.2      c         1
    2015.4      a         2
    2015.4      b         2
    2015.4      c         2
    2015.4      d         2
    2016.2      a         3
    2016.2      b         3
    2016.2      c         3
    2016.2      d         3


T2 = unstack(T, 'value', 'item', 'GroupingVariables', 'date', 'AggregationFunction', @sum);

T2 = 
    date        a        b        c        d   
    ________    _____    _____    _____    _____
    2015.2      2        1        1        NaN
    2015.4      2        2        2        2
    2016.2      3        3        3        3

关于matlab - 如何从表格在matlab中制作数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35503920/

相关文章:

PHP扩展困惑

user-interface - 如何从回调函数中获取之前输入的值?

matlab - MATLAB R2019a中contourf函数中 'ShowText'和 'LineStyle'冲突?

matlab - 实时音频处理 : audioDeviceReader 'Driver' not working (MATLAB)

matlab - Matlab中的单元格和矩阵有什么区别?

excel - 使用 vba 宏从数据透视表中选择字段

具有基于单列数据的动态标题的 MySQL 数据透视表

mysql - 使用数据透视表连接 2 个表

c# - Excel 数据透视表 : move value fields from row to column

MySQL - 行到列