在python中使用numpy简单地添加两个数组?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在python中使用numpy简单地添加两个数组?相关的知识,希望对你有一定的参考价值。

这可能是一个简单的问题。但是,我想澄清以下代码的工作原理。

a = np.arange(8)
a
array([1,2,3,4,5,6,7])
Example Function = a[0:-1]+a[1:]/2.0

在Example Function中,我想提请你注意数组a [0:-1] + a [1:]之间的加号。这是如何运作的?那是什么样的?

例如,加号(加法)是否添加了每个数组的第一个索引? (例如1 + 2)或将所有东西加在一起? (例如1 + 2 + 2 + 3 + 3 + 4 + 4 + 5 + 5 + 6 + 6 + 7)

然后,我假设/2.0只是将其除以2 ...

提前致谢。

Cece

答案

numpy数组使用向量代数,因为如果它们具有相同的尺寸,则只能添加两个数组

 a = [1,2,3,4,5]
 b = [1,1,1]
 a+b # will throw an error

同时

 a = [1,2,3,4,5]
 b = [1,1,1,1,1]
 a+b # is ok

分裂也是逐个元素的。

现在关于索引的问题

 a      = [1,2,3,4,5]
 a[0:-1]= [1,2,3,4]
 a[1:]  = [2,3,4,5]

或更常见的a[index_start: index_end]包含在start_index但在end_index独家 - 除非你被给予a[start_index:],其中包括一切,包括最后一个元素。

我的最后一个提示就是尝试使用结构 - 尝试不同的东西没有任何害处,计算机不会在这里或那里爆发错误的值。除非你当然试图这样做。

另一答案

如果数组具有相同的形状,则可以添加它们:

new_array = first_array.__add__(second_array)

这个简单的操作将first_array中的每个值添加到second_array中的每个值,并将结果放入new_array。

以上是关于在python中使用numpy简单地添加两个数组?的主要内容,如果未能解决你的问题,请参考以下文章

在Python / Numpy / Scipy中找到两个数组之间的插值交集

如何在numpy中对称地移动数组

如何将 Numpy 数组添加到字典中

python数据分析模块:numpy、pandas全解

在IPython Notebook中愉快地使用python编程

python中numpy库的简单使用