Assign a table coloumn a particular data type

2 vues (au cours des 30 derniers jours)
Andrea Sbaragli
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?

Réponse acceptée

Benjamin Kraus
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))
tbl = 10×2 table
Var1 Var2 ____ ____ 0 NaT 0 NaT 0 NaT 0 NaT 0 NaT 0 NaT 0 NaT 0 NaT 0 NaT 0 NaT
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)
tbl = 10×8 table
A1 A2 A3 A4 A5 A6 A7 A8 __ ___ __ __ __ ___ __ __ 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0
  2 commentaires
Andrea Sbaragli
Andrea Sbaragli le 24 Mai 2021
Yes it works perfect thank you so much
Steven Lord
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)
tbl = 10×8 table
A1 A2 A3 A4 A5 A6 A7 A8 __ ___ __ __ __ ___ __ __ 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0 0 NaT 0 0

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by