相关疑难解决方法(0)

python如何用零填充numpy数组

我想知道如何使用python 2.6.6和numpy 1.5.0版本用零填充2D numpy数组.抱歉! 但这些是我的局限.所以我不能用np.pad.例如,我想a用零填充,使其形状匹配b.我之所以这样做是因为我能做到:

b-a
Run Code Online (Sandbox Code Playgroud)

这样的

>>> a
array([[ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.]])
>>> b
array([[ 3.,  3.,  3.,  3.,  3.,  3.],
       [ 3.,  3.,  3.,  3.,  3.,  3.],
       [ 3.,  3.,  3.,  3.,  3.,  3.],
       [ 3.,  3.,  3.,  3.,  3.,  3.]])
>>> c
array([[1, 1, 1, 1, 1, 0],
       [1, 1, 1, 1, 1, 0],
       [1, 1, 1, …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy pad

57
推荐指数
3
解决办法
11万
查看次数

我可以使用 np.resize 用 np.nan 填充数组吗

a = np.array([[1, 2], [3, 4]])
a

array([[1, 2],
       [3, 4]])
Run Code Online (Sandbox Code Playgroud)

然后使用 resize

b = np.resize(a, (3, 3))
b

array([[1, 2, 3],
       [4, 1, 2],
       [3, 4, 1]])
Run Code Online (Sandbox Code Playgroud)

b现在a以不稳定的顺序拥有来自if 的所有信息。有没有办法利用它来创建左上角看起来像 a 但现在有一个新列和一个新行的 np.nan ?

c = np.empty(b.shape)
c.fill(np.nan)
c[:a.shape[0], :a.shape[1]] = a
c

array([[  1.,   2.,  nan],
       [  3.,   4.,  nan],
       [ nan,  nan,  nan]])
Run Code Online (Sandbox Code Playgroud)

显然,上面的代码完成了同样的事情。我不禁认为resize可以以某种方式使用它来更有效地完成此任务。

python numpy

5
推荐指数
1
解决办法
4127
查看次数

NumPy - 展开并重复

有没有办法“扩展”数组并重复最后一个元素来填充扩展?

另一篇文章讨论了扩展和填充,0但我希望重复最后一个值作为填充。

假设我有一个数组:

[[1, 2],
 [3, 4],
 [0, 0]]
Run Code Online (Sandbox Code Playgroud)

我需要插入[5, 6, 6]来替换[0, 0],显然 NumPy 不允许这样做。但我可以重塑/扩展为:

[[1, 2, 2],
 [3, 4, 4],
 [5, 6, 6]]
Run Code Online (Sandbox Code Playgroud)

我正在读取一个文件,其中值的数量长度可能有所不同,但我需要数组具有相同的形状。执行此操作的一种方法是首先读取文件并找到最大长度,然后再次读取并填充,但该文件有 10GB 以上,因此我更愿意通过“扩展”并重复回填来一次性完成此操作。

python numpy

5
推荐指数
1
解决办法
1107
查看次数

标签 统计

numpy ×3

python ×3

arrays ×1

pad ×1