Matlab中与Python Panda的dtypes相对应的内容

4
如果我有一个 Python 中的 pandas.DataFrame,则可以使用 dtypes 属性 检查 DataFrame 的数据类型。那么如何在 Matlab 表中进行相同操作呢?我研究了 Properties 机制,但没有找到任何面向类型的内容。

有没有一个叫做“VariableTypes”的属性?https://www.mathworks.com/help/matlab/ref/table.html - rahlf23
如果我在Properties后尝试使用.tab键补全,我会看到DescriptionDimensionNamesRowNamesUserDataVariableContinuityVariableDescriptionsVariableNamesVariableUnits。我正在使用Matlab 2018a。阅读文档后,似乎VariableTypes是一个输入字符串,用于强制转换数据类型。 - jxramos
看起来还有一个vartype函数,可以从特定类型的table中获取变量。但那也是不同的操作。我正在尝试做一些更内省的事情,而不是选择性的事情。 - jxramos
2个回答

3

看起来您可以调用以下内容:

varfun(@class,t,'OutputFormat',table)


class_var1   class_var2    class_var3    class_var4 
__________   __________    __________    __________

double       double        double        double  

其中t是您的表格。我参考了这里的答案。

varfun的更多文档也可以在这里找到。


不错的发现,它在我的特定表格上出现了问题,但我认为这是因为它有一些嵌套矩阵类型或类似的东西。当我在DataInspector中检查它时,有一些变量的“合并”列,例如变量2跨越4列:class(t) ; ans = 'table'; varfun(@class,t,'OutputFormat',cell) ; Error using cell Not enough input arguments. - jxramos
2
如果你想找到一个单独列的类,你也可以简单地输入 class(t.var1) - Cris Luengo

0

看起来获取这些信息(同时不幸地获取了许多其他东西)的其中一种方法是通过简单调用summary

这里是一些样本输出

K>> summary(t)

Variables:

    var1: 2966185×1 double

        Units:  sec
        Values:

            Min       56.207
            Median    7466.7
            Max        14878

    var2: 2966185×4 double

        Values:
                        var2_1        var2_2      var2_3      var2_4
                      ________    __________    ________    ________

            Min       -0.99966      -0.99901    -0.99887    -0.99998
            Median     0.01644    -0.0044018     0.12838      0.1564
            Max        0.98176       0.96433     0.99998           1

    var3: 2966185×3 double

        Units:  g
        Values:
                         var3_1        var3_2        var3_3
                      __________    _________    __________

            Min           -2.779      -3.1366       -3.6089
            Median    -0.0002124    -0.002221    -0.0020435
            Max           3.7874       5.9634        2.8443


    var4: 2966185×1 double

        Values:

            Min          0
            Median       5
            Max          5

这是在说明数据类型吗? - rahlf23
@rahlf23,好的,例如var1: 2966185×1 double,它是一个双列向量,而变量2和3是双精度矩阵。这似乎是导致varfun解决方案崩溃的原因,该解决方案可能只处理单维变量。 - jxramos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接