我有一个如下所示的二维数组:
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]])
关于python - 在二维中扩展 numpy 数组的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/877479/