ExtendedKey
ExtendedKey[key1,key2,…]
表示 Tabular 对象中列的多层键.
更多信息
- ExtendedKey 在 Part 等函数中使用,以访问 Association 对象中的值或 Tabular 对象中的列.
- ExtendedKey 是将 keyi 作为列头的不同层堆叠排版. 共享的上层键将跨列排版.
范例
打开所有单元 关闭所有单元基本范例 (1)
创建含有 ExtendedKey 的 Tabular 对象:
data = {{TimeObject[{3, 45}, "Minute"], "fox", TimeObject[{4, 21}, "Minute"], "lynx"}, {TimeObject[{1, 33}, "Minute"], "deer", TimeObject[{2, 3}, "Minute"], "fox"}};
keys = {ExtendedKey["obs A", "time"], ExtendedKey["obs A", "species"], ExtendedKey["obs B", "time"], ExtendedKey["obs B", "species"]};tab = Tabular[data, keys]ColumnKeys[tab]tab[All, ExtendedKey["obs A", _]]范围 (2)
获取一个带有 ExtendedKey 列键的 Tabular 对象:
tab = Tabular[...]提取一列作为 TabularColumn 对象:
tab[All, ExtendedKey["male", "age"]]提取与另一个 Tabular 对象相同的列:
tab[All, {ExtendedKey["male", "age"]}]如果能唯一标识列,则 ExtendedKey[…,key] 可缩短为 key:
tab[All, {"age"}]获取一个带有 ExtendedKey 列键的 Tabular 对象:
tab = Tabular[...]tab[All, ExtendedKey["female", _]]tab[All, ExtendedKey[_, "name"]]在 ExtendedKey 中使用样式会被解释为产生键列表,即使只有一个键:
tab[All, ExtendedKey[_, "age"]]tab[All, ExtendedKey[_, "foo"]]应用 (2)
下面是 Palmer 企鹅数据组成的 Tabular 对象:
penguins = ResourceData["Sample Tabular Data: Palmer Penguins"]ExtendedKey 是在对多个列进行重组时由 PivotTable 创建的:
pt = PivotTable[penguins, Length[#species]&, {"year"}, {"species", "sex"}]ColumnKeys[pt]在对列进行变换时使用 ExtendedKey:
ConstructColumns[pt, {"year", "females" -> Function[#[ExtendedKey["Adelie", "female"]] + #[ExtendedKey["Gentoo", "female"]] + #[ExtendedKey["Chinstrap", "female"]]]}]下面是 Palmer 企鹅数据组成的 Tabular 对象:
penguins = ResourceData["Sample Tabular Data: Palmer Penguins"]ExtendedKey 是在对多个列进行重组时由 PivotTable 创建的:
pt = PivotTable[penguins, Length[#species]&, {"sex"}, {"species", "island"}]adelie = ColumnKeys[pt, MatchQ[#ColumnKey, ExtendedKey["Adelie", _]]&]为三个岛的 "Adelie" 企鹅创建一个 "Total" 列:
TransformColumns[pt, {"sex", ExtendedKey["Adelie", "Total"] -> Function[Total[# /@ adelie]]}]属性和关系 (4)
当关联中只包含一个键时,ExtendedKey 会被删除:
<|ExtendedKey["a"] -> "foo"|><|ExtendedKey["a", "b"] -> "foo"|>关联中的 Key 查找需要精确匹配:
assoc = <|"a" -> "foo", Key["b"] -> "bar"|>{assoc["a"], assoc["b"], assoc[Key["a"]], assoc[Key["b"]]}在所有四种情况下,都成功使用了 ExtendedKey:
assoc = <|"a" -> "foo", ExtendedKey["b"] -> "bar"|>{assoc["a"], assoc["b"], assoc[ExtendedKey["a"]], assoc[ExtendedKey["b"]]}ExtendedKey 有 Flat 属性:
Attributes[ExtendedKey]因此,嵌套的 ExtendedKey 封装器将自动扁平化:
ExtendedKey[ExtendedKey["a", "b"], "c"]Key 总是需要一个参数:
key = Key["k"]ExtendedKey 可以接受多个参数:
ekey = ExtendedKey["a", "b", "c"]assoc = <|key -> "foo", ekey -> "bar"|>;assoc[key]assoc[ekey]相关指南
-
▪
- 表格对象
文本
Wolfram Research (2025),ExtendedKey,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ExtendedKey.html.
CMS
Wolfram 语言. 2025. "ExtendedKey." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ExtendedKey.html.
APA
Wolfram 语言. (2025). ExtendedKey. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ExtendedKey.html 年
BibTeX
@misc{reference.wolfram_2026_extendedkey, author="Wolfram Research", title="{ExtendedKey}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/ExtendedKey.html}", note=[Accessed: 11-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_extendedkey, organization={Wolfram Research}, title={ExtendedKey}, year={2025}, url={https://reference.wolfram.com/language/ref/ExtendedKey.html}, note=[Accessed: 11-September-2026]}