Python numpy矩阵赋值

2024-05-11 03:37:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我在想为什么两张照片的结果不一样?它们不应该是一样的吗?你知道吗

    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]))))

Tags: inimportnumpyforlenvalueasnp
2条回答

我刚刚用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))

当我运行这个脚本时,两个打印显示相同的结果。这个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

相关问题 更多 >