Assign a table coloumn a particular data type
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Andrea Sbaragli
le 24 Mai 2021
Commenté : Steven Lord
le 24 Mai 2021
For other reasons I cannot initialize my table as A=table but I must do A= zeros(height(B), 8) and then through array2table I convert my array into a table.
At this point how could I set A(:,2) and A(:,6) to datetime null values?
0 commentaires
Réponse acceptée
Benjamin Kraus
le 24 Mai 2021
Modifié(e) : Benjamin Kraus
le 24 Mai 2021
You cannot mix data types within a double matrix, but you can mix data types within a table.
So, you cannot convert two columns of A into datetime before creating the table.
I'm curious why you cannot create your table empty and then add colums as needed.
For example:
tbl = table;
B = zeros(10,1);
tbl.Var1 = B;
tbl.Var2 = NaT(size(B))
However, if that doesn't work for some reason, maybe this is what you are looking for?
B = zeros(10,1);
A = zeros(height(B),8);
tbl = array2table(A);
tbl.A2 = NaT(height(A),1);
tbl.A6 = NaT(height(A),1)
2 commentaires
Steven Lord
le 24 Mai 2021
In recent releases:
types = repmat("double", 1, 8);
types([2 6]) = "datetime";
tbl = table('size', [10 8], 'VariableNames', "A"+(1:8), 'VariableTypes', types)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Histograms dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!