JoinAcross
JoinAcross[{a1,a2,…},{b1,b2,…},key]
通过连接关联 ai 和 bj 对(其中与 key 相关联的数值相同),给出得到的关联列表.
JoinAcross[{a1,a2,…},{b1,b2,…},{key1,key2,…}]
只有当与所有键值 keyi 相关联的数值相同时,连接关联对.
JoinAcross[{a1,a2,…},{b1,b2,…},keyakeyb]
连接关联 ai、bj 对,其中 ai 中与 keya 相关联的数值与 bj 中与 keyb 相关联的数值相同.
JoinAcross[{a1,a2,…},{b1,b2,…},{keya1keyb1,…}]
将相应的数值一致的关联合并在一起.
JoinAcross[alist,blist,keyspec,"joinspec"]
使用 joinspec 判断什么时候允许产生包含缺失元素的关联.
更多信息和选项
- JoinAcross[{a1,a2,…},{b1,b2,…},keyspec] 实际上实现了 SQL JOIN,将按照 keyspec 指定逐列将两个表格的行 ai 和 bj 连接.
- 除非是字符串,否则 JoinAcross 中的键值指定必须封装在 Key 中.
- JoinAcross 实际上产生 Flatten[Outer[Join,alist,blist]] 的过滤版本.
- 默认情况下,JoinAcross 在 SQL 语句中进行“内连接”.
- "joinspec" 的下列格式指定相关性对 ai、bj 的不同行为:
-
"Inner" 只保持数值匹配的 ai、bj(默认) "Left" 允许找不到匹配的 bj 的 ai "Right" 允许找不到匹配的 aj 的 bi "Outer" 允许 ai 和 bj 都不匹配 - 当不出现相应的数值时,Missing["Unmatched"] 用于相应位置.
- 可以给出选项 KeyCollisionFunction 以指定如何处理未指定连接的 ai 和 bj 元素,但是具有相同的键.
- KeyCollisionFunction 的可能设置包括:
-
None 删除两个元素 Left 只包含左元素(默认) Right 只包含右元素 func 应用 func 以产生一对新键
范例
打开所有单元关闭所有单元基本范例 (11)
设置 "Right" 连接,包括来自右侧列表的未匹配的项目:
使用 KeyCollisionFunction 指定应该返回冲突键的哪些数值:
应用 (1)
文本
Wolfram Research (2014),JoinAcross,Wolfram 语言函数,https://reference.wolfram.com/language/ref/JoinAcross.html (更新于 2015 年).
CMS
Wolfram 语言. 2014. "JoinAcross." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2015. https://reference.wolfram.com/language/ref/JoinAcross.html.
APA
Wolfram 语言. (2014). JoinAcross. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/JoinAcross.html 年