【问题标题】:Simple adding two arrays using numpy in python?在 python 中使用 numpy 简单地添加两个数组?
【发布时间】:2016-12-04 06:00:24
【问题描述】:

这可能是一个简单的问题。不过,我想了解一下以下代码的工作原理。

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

在示例函数中,我想提醒您注意数组a[0:-1]+a[1:] 之间的加号。这是如何运作的?那是什么样子的?

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

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

【问题讨论】:

    标签: python-3.x numpy


    【解决方案1】:

    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:],它包括直到最后一个元素的所有内容。

    我的最后一个建议是尝试和玩弄这些结构 - 尝试不同的东西并没有什么坏处,计算机不会在这里或那里以错误的值爆炸。当然,除非您尝试这样做。

    【讨论】:

    • 谢谢!很有帮助。
    【解决方案2】:

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

    new_array = first_array.__add__(second_array)
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 2019-04-02
      • 2012-09-17
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多