CastColumns

CastColumns[tab,{col1type1,}]

Tabular 对象 tab 中的 coli 的类型改为 typei.

更多信息

  • CastColumns 通常用于转换 Tabular 对象列的类型,例如将字符串转换为数字或日期.
  • 类型 typei 指的是表示为 TabularColumncoli 的元素的类型. 元素的类型包括:
  • "MachineInteger"机器整数
    "MachineReal"机器实数s
    "Boolean"布尔数(TrueFalse
    "ByteArray"表示二进制数据的 ByteArray 元素
    "Categorical"::[categories]categories 编码
    "CategoricalOrdered"::[categories]有序的 categories
    "Date"::[]任意粒度的日历日期(日、月、μs 等)
    "Entity"::[]给定域内的实体
    "InertExpression"在使用之前不会被计算的普通表达式
    "ListVector"::[type]给定 type 的元素组成的列表
    "ListVector"::[type,n]给定 type 的长度为 n 个元素的列表组成的列表
    "ListTuple"::[type1,type2,]类型为 type1type2 的元素组成的列表
    "Null"Missing 表达式
    "Quantity"::[type,unit]量,大小的类型为 type,单位为 unit
    "String"字符串
    "Time"::[]一天中的时间,如 TimeObject 中那样
  • 可以更具体地给出数值元素的类型,包括:
  • "Integer8"有正负号的 8-bit 整数,从 到 127
    "UnsignedInteger8"从 0 到 255 的整数
    "Integer16"有正负号的 16-bit 整数,从
    "UnsignedInteger16"从 0 到 65535 的整数
    "Integer32"有正负号的 32-bit 整数,从
    "UnsignedInteger32"从 0 到 的整数
    "Integer64"有正负号的 64-bit 整数,从
    "UnsignedInteger64"从 0 到 的整数
    "Real32"单精度实数 (32-bit)
    "Real64"双精度实数 (64-bit)
    "ComplexReal32"单精度复数
    "ComplexReal64"双精度复数

范例

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

基本范例  (1)

将数字组成的列的类型更改为另一种数值类型:

"Integer64" 改为 "Real64"

范围  (4)

按照日期测量血糖:

"date" 列转换为 "Date" 类型:

将一个 Tabular 对象中的数字数据记录为字符串:

"val" 列转换为数字类型:

更改 Tabular 对象中某一列的向量类型:

同时将多个列转换为同一类型:

应用  (2)

销售数据  (2)

将零售数据从 "tsv" 格式转换为 Tabular 对象:

所有日期都是字符串:

"Date" 改写为 "Date" 格式:

选择某个城市的数据:

创建一个 TimeSeries 对象,将 "Date" 作为 "TimeColumn"

可视化销售时间序列:

以美国 COVID 数据的大型数据集为例:

只显示前五行:

FIPS 代码是标识美国县的独有数字,但 "fips" 列是字符串类型:

有效地将 "fips" 列转换为整数:

属性和关系  (4)

使用 CastColumns[tab,typerules] 更改 Tabular 对象 tab 的列类型:

Tabular[tab,<|"ElementType"typerules|>] 也能获得相同结果:

或使用 ToTabular[tab,"Rows",<|"ElementType"typerules|>]

获取一个包含字符串列的 Tabular 对象:

与其使用 CastColumns,不如使用新的列类型构建新的模式(schema):

将模式用于 Tabular 对象:

CastColumns 的操作可以使用 TransformColumns 和适当的函数来重现:

包含空格的字符串列键需要使用明确的引号:

Tabular 对象为例,其中有一列实值血糖水平的数据:

CastColumns 可有效地为每一列使用 Automatic 转换方法:

在这种情况下,这种转换是失败的,因为实数不可能总是很好地投射到整数中:

使用带有显式转换方法的 TabularColumn,该方法在转换为整数时包括对实数的四舍五入:

使用 InsertColumns 重新插入新列:

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

文本

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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