2011-05-13 23 views
2

我想问一些帮助。在Python中:阵列减法和/或整形

a=array([2,2]) 
b=ones((2,10)) 

我想知道是否有一个函数,允许我减去b-a有一个2x10满-1的数组。

我可以用一维数组做一个,我只是想知道是否有可能做2D数组。

感谢

回答

5

添加一个新的层面a

b - a[:,None] 

其中a[:,None]成为array([[2], [2]]),一个2×1阵列,您可以从一个2×10阵列和。减去得到一个2×10阵列充满-1。

+0

酷,正是我想要的 – 2011-05-13 09:37:18

+0

当然,我试过,但告诉我,我不得不等待了一下 – 2011-05-13 10:17:31

+0

有点晚了这一点,但不是'无'您可以使用['numpy.newaxis'](http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#numpy.newaxis)。另请参阅http://stackoverflow.com/questions/944863/numpy-should-i-use-newaxis-or-none – Chris 2012-03-08 13:52:48

0

你想有一个2x10满-1的数组。

你为什么不只是这样做:

b = np.ones((2, 10)) * -1 

array([[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.], 
     [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.]]) 
+0

因为问题是关于加减(检查标题) – 2011-05-14 00:02:34

+0

@Leon palafox:标题说数组减法和/或重塑。 – riza 2011-05-14 02:19:57

+0

我没有看到有关创建阵列的任何内容:) – 2011-05-14 15:38:21