📜  给定二维数组 numpy 的行中唯一值的计数 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:56:53.239000             🧑  作者: Mango

给定二维数组 numpy 的行中唯一值的计数 - TypeScript

在 TypeScript 中,我们可以使用 NumPy 库来处理二维数组并对其进行操作。对于给定的二维数组,要计算每一行中唯一值的数量。

方法一:使用 for 循环

使用 for 循环遍历二维数组中的每一行,并将唯一值的数量存储在新数组中。然后返回新数组。

import * as np from 'numpy';

function countUniqueRows(A: np.ndarray): number[] {
  const res: number[] = [];

  for (let i = 0; i < A.shape[0]; i++) {
    const row = A.get(i).tolist();
    const unique = new Set(row);

    res.push(unique.size);
  }

  return res;
}

方法二:使用 numpy.unique

使用 numpy.unique 方法获取每一行中的唯一值,并返回其长度。

import * as np from 'numpy';

function countUniqueRows(A: np.ndarray): number[] {
  const res: number[] = [];

  for (let i = 0; i < A.shape[0]; i++) {
    const row = A.get(i);
    const unique = np.unique(row);

    res.push(unique.shape[0]);
  }

  return res;
}

以上两种方法都可以有效地计算出每一行中唯一值的数量,并且使用了 TypeScript 中的类型定义和 NumPy 库的方法。