Merge the multi-columns, multi-rows in one column, one row

4 ビュー (過去 30 日間)
abdullah al-dulaimi
abdullah al-dulaimi 2022 年 10 月 30 日
回答済み: Chunru 2022 年 10 月 31 日
4755×5 table
filename xmin ymin xmax ymax
________________________________________________________ ____ ____ ____ ____
Japan_000001_jpg.rf.7b3ecaac169c998a18815a31934dbbea.jpg 0 238 150 415
Japan_000001_jpg.rf.7b3ecaac169c998a18815a31934dbbea.jpg 96 287 414 319
Japan_000001_jpg.rf.7b3ecaac169c998a18815a31934dbbea.jpg 22 296 95 311
Result will be
filename Damage
________________________________________________________ _________________________________
Japan_000001_jpg.rf.7b3ecaac169c998a18815a31934dbbea.jpg [0,238,150,415; 96, 287, 414, 319; 22, 296, 95 ,311]]

回答 (1 件)

Chunru
Chunru 2022 年 10 月 31 日
var = ["filename", "xmin", "ymin", "xmax", "ymax"]
var = 1×5 string array
"filename" "xmin" "ymin" "xmax" "ymax"
T = {
"Japan_000001_jpg.rf.7b3ecaac169c998a18815a31934dbbea.jpg", 0, 238, 150, 415;
"Japan_000001_jpg.rf.7b3ecaac169c998a18815a31934dbbea.jpg", 96, 287, 414, 319;
"Japan_000001_jpg.rf.7b3ecaac169c998a18815a31934dbbea.jpg", 22, 296, 95, 31};
T =cell2table(T, "VariableNames", var);
ufn = unique(T.filename);
Res = [];
for i=1:length(ufn)
tmp.filename = ufn(i);
tmp.Damage = T{T.filename == ufn(i), 2:5};
Res = [Res; struct2table(tmp, 'AsArray', true)];
end
Res
Res = 1×2 table
filename Damage __________________________________________________________ ____________ "Japan_000001_jpg.rf.7b3ecaac169c998a18815a31934dbbea.jpg" {3×4 double}
Res.Damage{1}
ans = 3×4
0 238 150 415 96 287 414 319 22 296 95 31

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by