ToTabular

ToTabular[data]

data 转换为 Tabular 对象.

ToTabular[data,form]

从具有 form 指定的结构的数据进行转换.

ToTabular[data,form,assoc]

用关联 assoc 中的指令给出转换的详细信息.

更多信息和选项

  • ToTabular 通常用于控制如何将数据对象转换为 Tabular 对象.
  • data 参数可包括:
  • matrix数据组成的局限矩阵 »
    array数据数组,前两层为矩形 »
    {assoc1,assoc2,...}关联列表 »
    Dataset[]Dataset,任意深度的近矩形数据 »
    TimeSeries[]具有单变量或多变量值的 TimeSeries 数据
    TemporalData[]包含任意数量路径的 TemporalData 数据
    SpatialPointData[]SpatialPointData 数据 »
  • "form" 参数中的结构指定可包括:
  • "Rows"按行排列的二维数据
    "Columns"按列排列的二维数据
    "Dataset"多维数据
    "TimeSeries"TimeSeries 对象
    "TemporalData"TemporalData 对象
    "SpatialPointData"SpatialPointData 对象
  • 可以通过关联 assoc 的其他元素对数组进行转换:
  • "ColumnKeys"Automatic列的名称 »
    "ColumnLevels"Automatic要展平成列的层
    "RowLevels"Automatic要展平成行的层
    "HeaderRows"0用作列键 (column key) 的行的数量 »
  • 对于数组 data,指定 {"RowLevels"rlevs,"ColumnLevels"clevs} 实际上等同于 Flatten[data,{rlevs,clevs}].
  • 可以通过关联 assoc 的其他元素对 Dataset 进行转换:
  • "ColumnKeys"Automatic列的名称 »
    "ColumnLevels"Automatic要展平成列的层
    "RowLevels"Automatic要展平成行的层
    "LevelNames"Automatic与层对应的关键列的名称
  • 可以通过关联 assoc 的其他元素对 TimeSeriesTemporalData 进行转换:
  • "ComponentsToColumns"Automatic是否将多变量值拆分为列
  • 此外,指定 assoc 可以包括任意 "form" 的值:
  • "CacheOriginalExpression"True是否缓存输入的副本 »

范例

打开所有单元关闭所有单元

基本范例  (4)

根据行列表构建一个 Tabular 对象:

根据列数据组成的列表构建 Tabular 对象:

根据矩阵构建 Tabular 对象,同时指定列的名称:

根据有共同键的关联列表构建 Tabular 对象:

范围  (18)

数组数据  (6)

根据数据矩阵构建 Tabular 对象:

将深度为 3 的数组转换为 Tabular 对象:

使用默认结构的情况下,数组被视为具有列表元素的二维数组:

指定 "Dataset" 形式将数据视为 3D,会将前两个维度展平为行:

"ColumnLevels" 指令指定哪些层被展平为行或列:

可用 Flatten 完成同样的任务:

数组的前两层必须是矩形:

不能接受第二层上参差不齐的数据:

默认情况下,输入的所有行都被解释为数据行:

将第一行解释为标题:

"ColumnKeys" 参数优先于从 "HeaderRows" 推断出的键:

导入带有列标签的 CSV 数据并用它来构建 Tabular 对象的列键 (column key):

检查数据是否是矩形:

使用 "HeaderRows" 指定:

关联列表  (2)

根据有共同键的关联列表构建 Tabular 对象:

为未出现在所有行中的键分配 Missing["NotAvailable"] 值:

数据集  (3)

Dataset 对象转换为 Tabular 对象:

直接使用 Tabular

通过 ToTabular 可以更好地控制列的名称:

Dataset 对象转换为 Tabular 对象:

指定 "RowLevels" 说明用哪一层作为行:

可用 "ColumnLevels" 获得相同的结果:

使用多个层上的数据:

以 G7 国家男性和女性人口的信息数据集为例:

默认情况下,前两层将被转换为生成的 Tabular 对象的关键列:

指定这些层转换成的列的名称:

只将 Dataset 的第一层转换为关键列,将其他两层转换为扩展键:

时间序列与时态数据 (4)

将从昨天开始的单变量时间序列转换为 Tabular

将多元时间序列转换为 Tabular

不要将值的组成部分拆分为单独的列:

将单变量多路径 TemporalData 转换为 Tabular

每条路径的时间戳都不同,对所有路径的时间戳的并集重新进行采样,并用插值统一时间戳:

将多路径和多分量的 TemporalData 转换为Tabular

空间数据  (3)

将简单的 SpatialPointData 转换为 Tabular

将该区域存储在元数据中:

将带有注释的 SpatialPointData 转换为 Tabular

将带有注释的多点构型的数据转换为 Tabular

选项  (2)

MissingValuePattern  (2)

默认情况下,Tabular 只将显式的 Missing[] 表达式解释为缺失值:

为应该解释为缺失值的元素指定一个模式:

其他形式:

指定多个 MissingValuePattern 值:

指定应解释为缺失值的元素的模式:

其他形式:

应用  (2)

ToTabular 将以列形式给出的数据转换为 Tabular 对象:

指定列键:

ToTabularTimeSeries 转换为 Tabular 对象,以可读形式呈现时间-数值数据对:

属性和关系  (2)

对于简单的 data 输入,ToTabular[data] 等价于 Tabular[data]

默认情况下,创建 Tabular 对象时会缓存原始表达式:

因此可以使用 Normal 恢复原始输入:

通过 "CacheOriginalExpression"False 避免缓存原始数据:

Normal 将重建输入的标准形式:

避免缓存通常会产生较小的对象:

可能存在的问题  (2)

不能接受第二层上参差不齐的数据:

数组的前两层必须是矩形:

当未指定 "LevelNames" 时,Dataset 的行标签将成为列的 "DatasetKey" 键:

"LevelNames" 指定列键:

Wolfram Research (2025),ToTabular,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ToTabular.html.

文本

Wolfram Research (2025),ToTabular,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ToTabular.html.

CMS

Wolfram 语言. 2025. "ToTabular." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ToTabular.html.

APA

Wolfram 语言. (2025). ToTabular. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ToTabular.html 年

BibTeX

@misc{reference.wolfram_2025_totabular, author="Wolfram Research", title="{ToTabular}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/ToTabular.html}", note=[Accessed: 15-January-2025 ]}

BibLaTeX

@online{reference.wolfram_2025_totabular, organization={Wolfram Research}, title={ToTabular}, year={2025}, url={https://reference.wolfram.com/language/ref/ToTabular.html}, note=[Accessed: 15-January-2025 ]}