【问题标题】:Python Code not clear (arrays)Python 代码不清楚(数组)
【发布时间】:2017-11-07 20:05:32
【问题描述】:

我有以下几行:

Xtest = numpy.arange(-15,15,0.1)
Xtest = numpy.array([Xtest,Xtest*0+1]).T

为什么第二行在 "Xtest*0+1" 的意义上看起来像这样?我试过了

Xtest = numpy.array([Xtest,1]).T

除了在数组末尾有“dtype=object”之外,我得到了相同的输出。这是为什么? 另外,不清楚当我尝试时会发生什么

Xtest = numpy.array([Xtest,Xtest*0]).T

我不清楚输出。以为我会有 Xtest 列与 0 的列... 最后,

Xtest =numpy.array([Xtest,0]).T

为什么我得到的第二列是 1 而不是 0?

【问题讨论】:

  • 你想得到什么输出?
  • @juanpa.arrivillaga 我只是想了解为什么代码会这样做。
  • 仅供参考:在Xtest = numpy.arange(-15,15,0.1) 之后,您可以将Xtest*0+1 替换为np.ones_like(Xtest)
  • @WarrenWeckesser 输出不一样...

标签: python arrays python-3.x numpy multidimensional-array


【解决方案1】:

由于Xtest 是一个数组,它有多个条目。当你将它乘以零时,你有那么多零。然后你添加一个以使其成为一个满是一个的数组。相比之下,当你直接输入1时,你最终会得到一个1,这是不同的。

【讨论】:

  • 好吧,放一个 1 不会返回错误。输出看起来仍然相同。 “dtype=object”除外。
猜你喜欢
  • 2019-08-23
  • 2015-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-07
  • 2013-03-06
  • 2011-10-26
相关资源
最近更新 更多