gpt4 book ai didi

python - 我可以使用 np.resize 来填充带有 np.nan 的数组吗

转载 作者:太空宇宙 更新时间:2023-11-03 15:59:27 24 4
gpt4 key购买 nike

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

array([[1, 2],
[3, 4]])

然后使用resize

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

array([[1, 2, 3],
[4, 1, 2],
[3, 4, 1]])

b 现在拥有来自 a 的所有信息(如果顺序不正确的话)。有没有办法利用它在左上角创建一个看起来像 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]])

显然上面的代码完成了同样的事情。我只是忍不住认为可以通过某种方式使用 resize 来更有效地完成此操作。

最佳答案

也许看看pad :

>>> np.pad(a, ((0,1),(0,1)), 'constant', constant_values=np.nan)
array([[ 1., 2., nan],
[ 3., 4., nan],
[ nan, nan, nan]])

请注意,nan 实际上是一个 float ,因此如果尝试使用整数 dtypes 进行此操作,请务必小心。您可能更喜欢使用掩码数组。

关于python - 我可以使用 np.resize 来填充带有 np.nan 的数组吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41253044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com