2

我有包含数字数据的 CSV 文件,我想对此数据进行分析。我希望使用 APL 比将其读入 mysql 并执行选择能给我更大的灵活性。但首先我想做简单的提取,比如'select * from mydata where col1 = 2020'。到目前为止,我知道我可以使用 Compress。但为此,我需要知道将为 compress 的左参数生成布尔数组的表达式(即“where col1 = 2020”的 APL 版本)。在线搜索没有让我在那个部门的任何地方。

4

1 回答 1

1

你的猜测确实是对的。

"col1 = 2020" 就是mydata[;1] = 2020这样(mydata[;1] = 2020) ⌿ mydata

我父亲喜欢定义

∇ data ← data where condition
  data ← condition⌿data
∇

这样他就可以写出类似的东西data where data[;1] = 2020

利用 Dyalog APL 功能

Dyalog APL 提供了一些符号细节:

  • 内联表达式可以写成mydata ⌿⍨ mydata[;1] = 2020
  • 上面的定义where可以简单地写成where ← ⌿⍨
于 2021-11-23T08:17:37.197 回答