Python numpy矩阵赋值

时间:2016-11-13 00:50:37

标签: python numpy

我想知道为什么我在两张照片上得到不同的结果?不应该是一样的吗?

    import numpy as np

    x = np.array([[1.5, 2], [2.4, 6]])

    k = np.copy(x)
    for i in range(len(x)):
       for j in range(len(x[i])):
            k[i][j] = 1 / (1 + np.exp(-x[i][j]))
            print("K[i][j]:"+str(k[i][j]))
            print("Value:"+str(1 / (1 + np.exp(-x[i][j]))))

2 个答案:

答案 0 :(得分:0)

当我运行此脚本时,2张打印显示相同的结果。这个python是3.5.2。

K[i][j]:0.817574476194
Value:0.817574476194
K[i][j]:0.880797077978
Value:0.880797077978
K[i][j]:0.916827303506
Value:0.916827303506
K[i][j]:0.997527376843
Value:0.997527376843

答案 1 :(得分:0)

我只是用python3和python2运行你的代码,结果完全一样。 此外,在使用numpy数组时,您不必进行循环,这样您就可以将多种数据处理任务表达为可能需要编写循环的简洁数组表达式。这种做法 用数组表达式替换显式循环通常称为向量化。通常,矢量化数组操作通常比纯Python等效操作快一个或两个(或更多)数量级,对任何类型的数值计算影响最大。

因此,请记住这一切,您可以按如下方式重写代码:

import numpy as np

x = np.array([[1.5, 2], [2.4, 6]], dtype=np.float)
k = 1 / (1 + np.exp(-x))