数据转置

表或DataFrame的转置,是将它们的第1行变为第1列,将最后1行变为最后1列,实际上是相对与对角线作对称变换。MATLAB和Python中都提供了相应的函数或方法进行操作。

MATLAB中可使用rows2vars函数对表进行转置操作。下面创建表T。

code.matlab
>> T=table({'张三';'李四';'杨二';'王五'},[18;19;17;25],...
    [162;169;162;167], [116;103;131;133],'VariableNames',...
    {'Name' 'Age' 'Height' 'Weight'});
>> T.Properties.RowNames={'a';'b';'c';'d'};

使用rows2vars函数对T进行转置。

code.matlab
>> T2=rows2vars(T)
T2 =
  4×5 table
    OriginalVariableNames       a           b           c           d
    _____________________    ________    ________    ________    ________
         {'Name'  }          {'张三'}    {'李四'}     {'杨二'}     {'王五'}
         {'Age'   }          {[  18]}    {[  19]}    {[  17]}    {[  25]}
         {'Height'}          {[ 162]}    {[ 169]}    {[ 162]}    {[ 167]}
         {'Weight'}          {[ 116]}    {[ 103]}    {[ 131]}    {[ 133]}