我在MATLAB中创建了以下表格。
Tleft = table(['1'; '2'; "Node9"; "Node10"; ],...
["Node9"; "Node10"; '2'; '3';],...
'VariableNames', {'h', 't'})
Tright = table(['1'; '2'; "Node9"; "Node10"; ],...
["Node9"; "Node10"; '2'; '3';],...
[1;2;3;3],...
'VariableNames', {'h', 't','value'})
我正在尝试Tright
按中存在的行的顺序对行进行排序Tleft
。
T = innerjoin(Tleft,Tright)
预期结果:
T =
4×3 table
h t value
________ ________ _____
"1" "Node9" 1
"2" "Node10" 2
"Node9" "2" 3
"Node10" "3" 3
获得的结果:
T =
4×3 table
h t value
________ ________ _____
"1" "Node9" 1
"2" "Node10" 2
"Node10" "3" 3
"Node9" "2" 3
关于如何获得预期结果的任何建议?
获得的结果是由排序引起的innerjoin
。您可以做的一件事是在创建表格时"Node9"
用0(即"Node09"
)填充每个数字。
如果这不是一个选择,则可以考虑使用sort_nat(或File Exchange中的任何其他类似的排序方法)并进行T
如下排序:
[~, index] = sort_nat(T.h);
T(index,:);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句