表或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]}