当前位置: 首页 > 面试题库 >

在2维中扩展numpy数组的最简单方法是什么?

柴彬
2023-03-14
问题内容

我有一个二维数组,看起来像这样:

XX
xx

添加额外的行和列的最有效方法是什么:

xxy
xxy
yyy

为了获得奖励积分,我还希望能够剔除单个行和列,因此例如在下面的矩阵中,我希望能够剔除所有的a,仅留下x-特别是试图同时删除第n行和第n列-
我希望能够尽快执行此操作:

xxaxx
xxaxx
aaaaa
xxaxx
xxaxx

问题答案:

我能想到的最短的代码行是第一个问题。

>>> import numpy as np
>>> p = np.array([[1,2],[3,4]])

>>> p = np.append(p, [[5,6]], 0)
>>> p = np.append(p, [[7],[8],[9]],1)

>>> p
array([[1, 2, 7],
   [3, 4, 8],
   [5, 6, 9]])

第二个问题

    p = np.array(range(20))
>>> p.shape = (4,5)
>>> p
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])
>>> n = 2
>>> p = np.append(p[:n],p[n+1:],0)
>>> p = np.append(p[...,:n],p[...,n+1:],1)
>>> p
array([[ 0,  1,  3,  4],
       [ 5,  6,  8,  9],
       [15, 16, 18, 19]])


 类似资料:
  • 问题内容: 在Java中,数组不会覆盖toString(),因此,如果您尝试直接打印一个数组,则得到数组的十六进制,如下所示: 但是通常情况下,我们实际上会想要更多类似的东西。最简单的方法是什么?以下是一些示例输入和输出: 问题答案: 从Java 5开始,您可以;然后将或用于数组中的数组。请注意,版本调用数组中的每个对象。输出甚至以您要求的确切方式修饰。 例子: 简单数组: 输出: 嵌套数组: 输

  • 本文向大家介绍简单介绍C# 中的扩展方法,包括了简单介绍C# 中的扩展方法的使用技巧和注意事项,需要的朋友参考一下     扩展方法是C#3.0引入的新特性,使用它,可以在不修改某一类的代码的情况下,实现该类方法的扩展。     为一个类添加扩展方法,需要三个要素:         1.扩展方法所在的类为静态类         2.扩展方法本身要为静态方法         3.扩展方法的第一个参数

  • 问题内容: 我有一个非常大的NumPy数组 我想检查数组的第一列中是否存在一个值。我有很多本地方法(例如遍历每一行并进行检查),但是鉴于数组的大小,我想找到最有效的方法。 谢谢! 问题答案: 怎么样 编辑:我认为以与@detly版本相同的方式实现

  • 问题内容: 有没有好的方法来“扩展”一个numpy ndarray?说我有一个ndarray这样的: 我希望每一行通过填充零来包含更多元素: 我知道必须有一些蛮力的方法(比如用零构造一个更大的数组,然后从旧的较小的数组中复制元素),只是想知道是否有Python的方法。尝试过但没用: Numpy抱怨: 问题答案: 有索引技巧和。 如果这是对性能至关重要的代码,则您可能更喜欢使用等效方法而不是索引技巧

  • 问题内容: 目前,我有一些这样的代码 我认为此代码 效率不高, 因为需要返回数组的副本而不是 就地修改ret 我想知道是否可以将numpy数组用于以下代码: 这样,效率会更高。有人对此有想法吗?谢谢! 问题答案: 想象一个numpy数组占据一个连续的内存块。现在想象一下其他对象,例如其他numpy数组,它们正占据着numpy数组左右两侧的内存。没有空间可以追加或扩展我们的numpy数组。numpy

  • 问题内容: 我想在我的JS代码中扔一些东西,我希望它们是Error的instanceof,但我也想让它们成为其他东西。 在Python中,通常将Exception子类化。 在JS中适合做些什么? 问题答案: 在ES6中: