Excel的数据透视表是一个很好用的功能,我写了一个Matlab版本,在处理上和Excel的透视表差不多,还差一个filter而已。

一个简单的例子:

let

inMatrix = {

'2009', 'Mon', 12, 31;

'2009', 'Wed', 11, 34;

'2009', 'Fri', 1, 4;

'2009', 'Mon', 3, 4;

'2009', 'Wed', 9, 6;

'2009', 'Fri', 1, 4;

'2010', 'Mon', 18, 15;

'2010', 'Wed', 11, 21;

'2010', 'Wed', 1, 4;

};

then

pivottable(inMatrix, 1, 2, 3, @sum) output a cell

[] 'Fri' 'Mon' 'Wed'

'2009' [ 2] [ 15] [ 20]

'2010' [] [ 18] [ 12]

pivottable(inMatrix, [1 2], [], 3, @sum) output a cell

'2009' 'Fri' [ 2]

'2009' 'Mon' [15]

'2009' 'Wed' [20]

'2010' 'Mon' [18]

'2010' 'Wed' [12]

pivottable(inMatrix, [], 2, 3, @sum) output a cell

'Fri' 'Mon' 'Wed'

[ 2] [ 33] [ 32]

更多帮助可在Matlab命令行help pivottable。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐