【问题标题】:how to make a new numpy array same size as a given array and fill it with a scalar value如何使新的numpy数组与给定数组大小相同并用标量值填充
【发布时间】:2016-06-28 07:58:54
【问题描述】:

我有一个带有一些随机数的 numpy 数组,如何创建一个大小相同的新数组并用单个值填充它?

我有以下代码:

A=np.array([[2,2],
            [2,2]])
B=np.copy(A)
B=B.fill(1)

我想要一个与 A 大小相同但填充为 1 的新数组 B。但是,它返回一个None 对象。使用np.full时也一样。

【问题讨论】:

  • 我认为您不需要进行分配。所以,只需 B.fill(1) 就可以完成这项工作。
  • 谢谢!您的评论确实帮我节省了很多时间!

标签: python arrays numpy


【解决方案1】:

你可以使用np.full_like:

B = np.full_like(A, 1)

这将创建一个与A 具有相同属性的数组,并用1 填充它。

如果你想用1 填充它,还有一个方便的函数:np.ones_like

B = np.ones_like(A)

您的示例不起作用,因为B.fill 没有返回任何内容。它“就地”工作。所以你填写你的B,但你立即用None返回的fill覆盖你的变量B。如果你像这样使用它会起作用:

A=np.array([[2,2], [2,2]])
B=np.copy(A)
B.fill(1)

【讨论】:

    猜你喜欢
    • 2011-08-18
    • 2022-01-09
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多