从数组创建具有混合数据类型的表

罗顿

我想将多个数组组成一张表。由于它们具有不同的数据类型,因此看起来不是很简单。考虑一下这个简单的MWE:

daysTotal       = 2;
hoursTotal      = daysTotal*24;
timeStepHours   = 1/4;
nhi             = 1/timeStepHours;
q_in_mean       = 0.82;

% You may need to change this, according to your locale
startDateTimeStr = '02.09.2019 00:00:00';
startDateTime   = datetime(startDateTimeStr);
dateTimeVector  = startDateTime:hours(timeStepHours): ...
    (startDateTime+days(daysTotal)-hours(timeStepHours));

var1            = ones(hoursTotal*nhi, 3);
var2            = q_in_mean*ones(hoursTotal*nhi, 1);

tableFull       = table(dateTimeVector.', var1, var2);

尽管可以,tableFull.var2但是我想要一个(hoursTotal*nhi, 5)表,即每个数组列都有一个单独的表列。如果所有元素都是从工作中相同的数据类型:

tableFull       = array2table([dateTimeVector.', var1, var2])

虽然这样做有效,但看起来并不优雅:

tableFull       = horzcat(table(dateTimeVector.'), array2table(var1), table(var2));

是否有更好的方法(hoursTotal*nhi, 5)从这三个具有不同数据类型的变量中获取表?

埃德里克

从R2018a开始,您可以使用它splitvars来执行操作,即

>> splitvars(tableFull)
ans =
  192×5 table
            Var1            var1_1    var1_2    var1_3    var2
    ____________________    ______    ______    ______    ____
    02-Sep-2019 00:00:00      1         1         1       0.82
    02-Sep-2019 00:15:00      1         1         1       0.82
...
...

这种情况下的另一个选择可能是timetable像这样

>> array2timetable([var1, var2], 'RowTimes', dateTimeVector.')
ans =
  192×4 timetable
            Time            Var1    Var2    Var3    Var4
    ____________________    ____    ____    ____    ____
    02-Sep-2019 00:00:00     1       1       1      0.82
    02-Sep-2019 00:15:00     1       1       1      0.82
...
...

顺便说一句,要解析与地区无关的日期字符串,您可以使用'InputFormat'编写

startDateTime = datetime(startDateTimeStr, 'InputFormat', 'dd.MM.yyyy HH:mm:ss');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有混合数据类型的列的 groupby 数据

具有混合数据类型的列表的Numpy dtype

CSV 过滤具有混合数据类型的列

删除具有混合数据类型的值

C#中具有混合数据类型的数组

转换具有单个混合数据类型数组的单个字符串

具有数组字段的复合数据类型

如何将具有混合数据类型的 3D 数组加载到 Tensorflow 中进行训练?

在R中:具有混合数据类型的数据帧的类型转换

如何对具有混合数据类型和数据结构的列表进行子集设置?

具有混合数据类型的TensorFlow数据集生成器

创建一个混合数据类型的 numpy 数组

在Swagger中定义具有混合数据类型的属性

使用Boost.Spirit解析具有混合数据类型的OBJ文件?

Power-Query中具有混合数据类型的“自定义”列

Javascript sort()混合数据类型的数组

如何使用混合数据类型数组保留数据类型?

将具有混合数据类型的数据帧中所有出现的True / False转换为1/0

处理混合数据类型

java - 如何解决由具有混合数据类型的数据文件引起的 InputMismatchException

删除pandas数据框中具有混合数据类型的所有行,这些数据类型包含多列中的特定字符串

在python中读取具有混合数据类型的未知大小的二进制文件

从具有嵌套结构的字典中删除混合数据类型的空值和空对象

如何初始化数组中的泛型与混合数据类型

如何将混合数据类型(int,float,char等)存储在数组中?

如何在混合数据类型的数组中返回最短字符串?

如何处理 numpy 数组中的混合数据类型

从表中检索混合数据类型的模板化 get 方法

如何将Pandas数据框旋转为具有混合数据类型和可能的双重值的新格式