我将如何计算数组中每个字母数字的数量? (美国PL)

2024-01-03

我不知道如何获取矩阵并计算每行的字母数字值的数量。我只会采用具有我正在计算的值的矩阵。 例如,如果我得到:

ABA455  
7L9O36G                                 
DZLFPEI

第一行我会得到类似 A:2 B:1 4:1 5:2 的内容,并且每一行都会独立计数。 如果您也能解释一下,我最想了解所使用的运算符。 谢谢。


以下内容应该适用于任何主流 APL 实现。

让我们从一个简单的字符向量开始:

      m ← 3 7⍴'ABA455 7L9O36GDZLFPEI'
      v ← m[1;]
      v
ABA455 

我们可以通过过滤来查找唯一字符,以仅保留与第一次出现的索引相同的元素:

      v ⍳ v
1 2 1 4 5 5 7
      ⍳ ⍴ v
1 2 3 4 5 6 7
      ( v ⍳ v ) = ⍳ ⍴ v
1 1 0 1 1 0 1
      ⎕ ← unique ← ( (v ⍳ v) = ⍳ ⍴ v ) / v
AB45 

现在我们将独特元素与每个元素进行比较:

      unique ∘.= v
1 0 1 0 0 0 0
0 1 0 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 1 1 0
0 0 0 0 0 0 1

水平汇总此表即可得出每个唯一元素的出现次数:

      +/ unique ∘.= v
2 1 1 2 1

现在我们只需要将唯一元素与其各自的计数配对:

       unique ,[1.5] +/ unique ∘.= v
A 2
B 1
4 1
5 2
  1

让我们将其放入效用函数中:

      ∇ c ← Counts v; u
        u ← ( (v ⍳ v) = ⍳ ⍴ v ) / v
        c ← u ,[1.5] +/ u ∘.= v
      ∇ 
      Counts v
A 2
B 1
4 1
5 2
  1

现在我们需要将此函数应用于矩阵的每一行。我们首先将矩阵分割成向量的向量:

      ⊂[2] m
┌───────┬───────┬───────┐
│ABA455 │7L9O36G│DZLFPEI│
└───────┴───────┴───────┘

然后我们将效用函数应用于每个向量:

      Counts¨ ⊂[2] m
┌───┬───┬───┐
│A 2│7 1│D 1│
│B 1│L 1│Z 1│
│4 1│9 1│L 1│
│5 2│O 1│F 1│
│  1│3 1│P 1│
│   │6 1│E 1│
│   │G 1│I 1│
└───┴───┴───┘

在线尝试一下! https://tio.run/##SyzI0U2pTMzJT///P1fhUdsEBWMF80e9W9QdnRxNTE0VzH0s/Y3N3F2ifNwCXD3VuR51tCskg9U555fmlRQrlFkrlHIpKJSCxTQUNMoe9W4u01SwVQDSQHPKFDQV9BXKgCogukoVdKIN9UxjFbT1QXo6ZujZAmWBpnI96puKZO6hFQqPupqijWIVcv//BwA


如果您使用的是 Dyalog APL,则密钥运算符 ()正是您所需要的:

      {⍺ ⍵}⌸ 'ABA455'
┌─┬───┐
│A│1 3│
├─┼───┤
│B│2  │
├─┼───┤
│4│4  │
├─┼───┤
│5│5 6│
└─┴───┘

它采用单个操作数,并为每个唯一值调用一次,特定值作为左参数,出现索引列表作为右参数。然而,我们对实际发生的事件并不感兴趣,只对它们的计数感兴趣:

      {⍺ (≢⍵)}⌸ 'ABA455'
A 2
B 1
4 1
5 2

现在我们只需在每一行上应用这个函数即可。我们可以通过分割矩阵并将函数应用于 Each 来做到这一点:

      {⍺ (≢⍵)}⌸¨ ↓ m
┌───┬───┬───┐
│A 2│7 1│D 1│
│B 1│L 1│Z 1│
│4 1│9 1│L 1│
│5 2│O 1│F 1│
│  1│3 1│P 1│
│   │6 1│E 1│
│   │G 1│I 1│
└───┴───┴───┘

在线尝试一下! https://tio.run/##SyzI0U2pTMzJT///P1fhUdsEBWMF80e9W9QdnRxNTE0VzH0s/Y3N3F2ifNwCXD3VuR71TQWrqn7Uu0tB41Hnoke9WzVrH/XsOLQCKD5ZIff/fwA

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我将如何计算数组中每个字母数字的数量? (美国PL) 的相关文章

  • List::Util 'shuffle' 实际上是如何工作的?

    我目前正在使用 c5 0 构建一个分类器 我有一个包含 8000 个条目的数据集 每个条目都有自己的 ID 号 1 8000 在测试分类器的性能时 我必须进行 5 组 10 90 训练数据 测试数据 的分割 当然 任何训练案例都不能再次出现
  • 使用输入 fn 在 Tensorflow 估计器中进行预测

    我使用来自的教程代码https github com tensorflow tensorflow blob r1 3 tensorflow examples learn wide n deep tutorial py https githu
  • 解析 HTML:成人分类系统

    我正在研究网络上使用的不同且 有时已过时 的评级 分类标准 IE PICS http www w3 org PICS POWDER http www w3 org 2007 powder ICRA http www fosi org icr
  • 如何在 scikit-learn 中正确地将数字特征与文本(词袋)结合起来?

    我正在为网页编写一个分类器 因此我混合了数字特征 并且我还想对文本进行分类 我正在使用词袋方法将文本转换为 大 数值向量 代码最终是这样的 from sklearn feature extraction text import CountV
  • 在海量数据集上学习决策树

    我正在尝试使用 MATLAB 从巨大 即无法存储在内存中 数据集构建二元分类决策树 本质上 我正在做的是 收集所有数据 Try out n数据的决策函数 选出最佳决策函数 https stackoverflow com questions
  • 使用分类器更改工件的 Maven 依赖关系

    使用 maven jar 插件 我构建了两个 jar bar 1 0 0 jar 和 bar 1 0 0 client jar 实际上在我的 POM 中我有以下依赖项
  • 计算多维数组中的元素数量

    我有这个代码 loadData function jsonArray var id this attr id for var i in jsonArray id tbody append tr class entry details pag
  • 我如何知道训练数据足以用于机器学习

    例如 如果我想训练一个分类器 也许是SVM 我需要收集多少样本 有没有一个测量方法呢 知道需要收集多少样本并不容易 不过 您可以按照以下步骤操作 解决典型的机器学习问题 构建一个包含几个样本的数据集 a 有多少个 这取决于您遇到的问题类型
  • R中使用GBM函数进行分类的问题

    我试图用R中的gum函数来做分类问题 library gbm set seed 1 boost goodwine gbm goodwine quality data traindata shrinkage 0 01 cv folds 5 d
  • matlab中的支持向量机

    您能否举一个在 matlab 中使用支持向量机 SVM 进行 4 类分类的示例 例如 atribute 1 atribute 2 atribute 3 atribute 4 class 1 2 3 4 0 1 2 3 5 0 0 2 6 4
  • 将朴素贝叶斯训练分类器保存在 NLTK 中

    我对如何保存经过训练的分类器有点困惑 例如 每次我想使用分类器时重新训练它显然非常糟糕且缓慢 我如何保存它并在需要时再次加载它 代码如下 提前感谢您的帮助 我正在使用 Python 和 NLTK 朴素贝叶斯分类器 classifier nl
  • Linux 上的 APL 键映射 (GNU APL)

    我的祖父是 60 年代 70 年代 IBM 的一名 APL 程序员 他最近开始使用 Linux 我一直在帮助他设置和使用 GNU APL http www gnu org software apl http www gnu org soft
  • R 中使用插入符号进行分类的预测(模型)和预测(模型$ FinalModel)之间的区别

    有什么区别 predict rf newdata testSet and predict rf finalModel newdata testSet 我训练模型preProcess c center scale tc lt trainCon
  • 逻辑回归中的成本函数给出 NaN 结果

    我正在使用批量梯度下降来实现逻辑回归 输入样本要分为两类 类别为 1 和 0 在训练数据时 我使用以下 sigmoid 函数 t 1 1 exp z where z x theta 我正在使用以下成本函数来计算成本 以确定何时停止训练 fu
  • R中xtabs和aggregate之间的na.action不一致

    我有以下数据框 x lt data frame A c Y Y Z NA B c NA TRUE FALSE TRUE C c TRUE TRUE NA FALSE 我需要计算下表xtabs A B C Y 1 2 Z 0 0
  • 使用逻辑回归时sklearn重要特征错误

    以下代码使用随机森林模型为我提供一个显示特征重要性的图表 from sklearn feature selection import SelectFromModel import matplotlib clf RandomForestCla
  • 仅正样本和未标记数据集的二元半监督分类

    我的数据由评论组成 保存在文件中 其中很少被标记为正面 我想使用半监督和PU http www cs uic edu liub publications ICDM 03 pdf分类将这些评论分为正面和负面类别 我想知道 python sci
  • 朴素分类器 matlab

    在 matlab 中测试朴素分类器时 即使我在相同的样本数据上进行训练和测试 我也会得到不同的结果 我想知道我的代码是否正确 是否有人可以帮助解释这是为什么 dimensionality reduction columns 6 U S V
  • 使用 SVM 预测概率

    我编写了这段代码并想获得分类的概率 from sklearn import svm X 0 0 10 10 20 30 30 30 40 30 80 60 80 50 y 0 1 2 3 4 5 6 clf svm SVC clf prob
  • R 中多类分类的 ROC 曲线

    我有一个包含 6 个类别的数据集 我想绘制多类别分类的 ROC 曲线 Achim Zeileis 给出的第一个答案非常好 R中使用rpart包的ROC曲线 https stackoverflow com questions 30818188

随机推荐

  • 如何从 Chrome 扩展程序向本机应用程序发送消息?

    我有一个用 C 编写的本机应用程序 我可以使用以下命令将数据从本机应用程序发送到 chrome 扩展如何从本机应用程序向 Chrome 扩展程序发送消息 https stackoverflow com questions 18134665
  • 连接可选列表

    我有三个Optional gt 必须将它们组合并返回 我尝试使用Optional map and flatmap 但没有成功 public Optional
  • 春季启动日志记录

    我正在使用 Spring boot 构建一个简单的 REST 服务 我想知道处理日志记录的最合适的方法 In my 应用程序属性文件我有以下内容 logging level org springframework web DEBUG 在开发
  • 并行代码可扩展性差

    最近我一直在分析我的并行计算在 16 核处理器上实际上是如何加速的 我得出的一般公式 线程越多 每个核心的速度就越慢 让我很尴尬 以下是我的CPU负载和处理速度的图表 因此 您可以看到处理器负载增加 但速度增加得慢得多 我想知道为什么会发生
  • 如何使用opencv python在对象中找到用于测量目的的参考点? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 输入图像寻找参考点 https i stack imgur com g0Dt1 png 我的问题陈述是我想测量钻头的长度 因此 如果我
  • 如何监视默认导出函数

    sinon spy 有 2 个参数 对象和函数名称 我有一个模块如下所示 module exports function xyz 我如何定义间谍xyz 我没有可以使用的对象名称 想法 如果你使用 ES6 模块导入功能 上面的方法实际上不起作
  • 使用现有的 pptx 创建新的 pptx Python-Pptx

    我正在尝试使用 old pptx 创建 new pptx old pptx 有 4 张幻灯片 我想在 4 张幻灯片中创建内容几乎相同的 new pptx 仅进行少量文本修改 我跳过了下面代码中的修改部分 您可以举个例子 例如将小写字母转换为
  • 导入 shapefile 外部的遮罩区域(底图/matplotlib)

    我正在通过 Matplotlib 在美国和加拿大东海岸的底图上绘制数据 除了基础层 填充的等值线图 之外 我还使用 Matplotlib 的 readshapefile 工具将此焦点区域的 shapefile 覆盖在数据之上 我想知道如何屏
  • 将蛋糕脚本中的警告消息记录在文本文件中

    我正在使用下面的蛋糕脚本来编译我的C 项目 中显示的警告消息很少PowerShell执行脚本时 我喜欢将警告记录在物理位置的文本文件中 例如 D WarningReport txt 下面是我用来编译项目的蛋糕脚本任务 Task Build
  • 使用JNI而不是JNA调用本机代码?

    与 JNI 相比 JNA 似乎更容易用来调用本机代码 在什么情况下您会使用 JNI 而不是 JNA JNA 不支持 C 类的映射 因此如果您使用 C 库 则需要 jni 包装器 如果你需要大量的内存复制 例如 您调用一个方法 该方法返回一个
  • 在 Pygame 上播放 midi

    好的 这就是我得到的 import pygame import sys from pygame locals import bif bg jpg mif pkmn png sif bubble png song 1 testaudio mi
  • base64 解码的文件不等于原始未编码的文件

    我有一个普通的pdf文件 A pdf 第三方以base64对该文件进行编码 并将其作为长字符串在网络服务中发送给我 我无法控制第三方 我的问题是 当我使用 java org apache commons codec binary Base6
  • 什么是好的、众所周知的 JavaScript MVC 模式?

    在 ASP NET MVC 应用程序中管理 JavaScript 文件和函数 对象上下文的最佳方法是什么 谷歌说http javascriptmvc com http javascriptmvc com
  • 在 Quartz 作业中使用 CDI

    我想知道是否可以在 Quartz 作业中以可移植的方式使用 CDI bean 我已经尝试编写自己的 JobFactory 等 但问题是 BeanManager 无法通过 JNDI 使用 因为作业在非托管线程中运行 我的应用程序服务器是 We
  • React组件的render函数中返回DOM元素

    我有一个外部库 可以呈现一些自定义 js 控件 该库返回一个可以插入到页面中的 DOM 元素 我正在 React 中为这个库创建包装器 我已经将所有内容都连接起来 但我不确定如何允许渲染函数接受 DOM 元素作为其返回 render if
  • 如何在 HtmlAgilityPack 中按类获取元素

    你好 我制作 HttpWebResponse 并获取包含我需要的所有数据的 Html 页面 例如带有日期信息的表 我需要将它们保存到数组列表并将其保存到 xml 文件 html 页面示例 table tr td class padding5
  • 如何在 元素内创建标签?

    我想在输入元素内插入描述性文本 当用户单击它时该描述性文本就会消失 我知道这是一个很常见的技巧 但我不知道该怎么做 最简单 更好的解决方案是什么 如果您使用的是 HTML5 则可以使用placeholder属性
  • 这是什么样的排序?

    假设我有一个整数列表 其中每个元素都是 1 到 20 之间的数字 这不是我要排序的内容 现在 我有一个 操作 数组 其中每个操作 Removes列表中的某些 已知 数字 and Adds列表中的某些其他 已知 号码 and如果列表在操作开始
  • 使用 Underscore JS 对 JSON 数组进行分组和聚合

    我有一个 json 数组对象 我想根据 FlexCategoryName 列对数据进行分组 并对矩阵列执行聚合 例如 成本 平均值 点击 总和等 下面是 JSON 数组对象 Array 100 0 Object 1 Object 2 Obj
  • 我将如何计算数组中每个字母数字的数量? (美国PL)

    我不知道如何获取矩阵并计算每行的字母数字值的数量 我只会采用具有我正在计算的值的矩阵 例如 如果我得到 ABA455 7L9O36G DZLFPEI 第一行我会得到类似 A 2 B 1 4 1 5 2 的内容 并且每一行都会独立计数 如果您