如何向numpy数组中添加常量,但跳过Python中的第一行
我有一个numpy数组,如下所示:如何向numpy数组中添加常量,但跳过Python中的第一行,python,arrays,numpy,Python,Arrays,Numpy,我有一个numpy数组,如下所示: array([[ 0.08778, 0.99666, 0.30648], [ 0.41688, 2.70076, 1.10135], [ 1.90494, 0.91685, -0.26984], [-0.44512, 1.73972, -1.24406], [-1.68572, 1.01617, 1.01221], [-0.1977 , -0.77177, -0.35553]
array([[ 0.08778, 0.99666, 0.30648],
[ 0.41688, 2.70076, 1.10135],
[ 1.90494, 0.91685, -0.26984],
[-0.44512, 1.73972, -1.24406],
[-1.68572, 1.01617, 1.01221],
[-0.1977 , -0.77177, -0.35553],
[ 0.61588, 3.6995 , 1.59813],
[ 2.98863, 0.86173, -0.59616],
[-0.78312, 2.20935, -2.22362],
[-2.73208, 1.02071, 1.44702],
[-0.36006, -1.82939, -0.72827]])
我想给数组中的每个值加0.05,比如
new_array = array + 0.1
除了我不想对第一行[0.08778,0.99666,0.30648]执行此操作之外。我觉得有一个简单的方法可以做到这一点,但我想不出来 您可以这样做:
import numpy as np
a = np.array([[ 0.08778, 0.99666, 0.30648],
[ 0.41688, 2.70076, 1.10135],
[ 1.90494, 0.91685, -0.26984],
[-0.44512, 1.73972, -1.24406],
[-1.68572, 1.01617, 1.01221],
[-0.1977 , -0.77177, -0.35553],
[ 0.61588, 3.6995 , 1.59813],
[ 2.98863, 0.86173, -0.59616],
[-0.78312, 2.20935, -2.22362],
[-2.73208, 1.02071, 1.44702],
[-0.36006, -1.82939, -0.72827]])
a[1:] += 0.05
print(a)
输出将是:
[[ 0.08778 0.99666 0.30648]
[ 0.46688 2.75076 1.15135]
[ 1.95494 0.96685 -0.21984]
[-0.39512 1.78972 -1.19406]
[-1.63572 1.06617 1.06221]
[-0.1477 -0.72177 -0.30553]
[ 0.66588 3.7495 1.64813]
[ 3.03863 0.91173 -0.54616]
[-0.73312 2.25935 -2.17362]
[-2.68208 1.07071 1.49702]
[-0.31006 -1.77939 -0.67827]]
请记住,writeb=a[1::+0.05
不是等效的,因为b
不会有a
的第一行。如果要保存到另一个变量中,则必须先复制整个数组您可以这样做:
import numpy as np
a = np.array([[ 0.08778, 0.99666, 0.30648],
[ 0.41688, 2.70076, 1.10135],
[ 1.90494, 0.91685, -0.26984],
[-0.44512, 1.73972, -1.24406],
[-1.68572, 1.01617, 1.01221],
[-0.1977 , -0.77177, -0.35553],
[ 0.61588, 3.6995 , 1.59813],
[ 2.98863, 0.86173, -0.59616],
[-0.78312, 2.20935, -2.22362],
[-2.73208, 1.02071, 1.44702],
[-0.36006, -1.82939, -0.72827]])
a[1:] += 0.05
print(a)
输出将是:
[[ 0.08778 0.99666 0.30648]
[ 0.46688 2.75076 1.15135]
[ 1.95494 0.96685 -0.21984]
[-0.39512 1.78972 -1.19406]
[-1.63572 1.06617 1.06221]
[-0.1477 -0.72177 -0.30553]
[ 0.66588 3.7495 1.64813]
[ 3.03863 0.91173 -0.54616]
[-0.73312 2.25935 -2.17362]
[-2.68208 1.07071 1.49702]
[-0.31006 -1.77939 -0.67827]]
请记住,write
b=a[1::+0.05
不是等效的,因为b
不会有a
的第一行。如果要保存在另一个变量中,必须首先复制整个数组。要做到这一点,首先需要了解numpy的基本操作
例如,您有一个名为arr
的numpy数组,如下所示
arr = np.array([[ 0.08778, 0.99666, 0.30648],
[ 0.41688, 2.70076, 1.10135],
[ 1.90494, 0.91685, -0.26984],
[-0.44512, 1.73972, -1.24406],
[-1.68572, 1.01617, 1.01221],
[-0.1977 , -0.77177, -0.35553],
[ 0.61588, 3.6995 , 1.59813],
[ 2.98863, 0.86173, -0.59616],
[-0.78312, 2.20935, -2.22362],
[-2.73208, 1.02071, 1.44702],
[-0.36006, -1.82939, -0.72827]])
这是一个二维numpy数组。因此,您可以访问任何行和列,甚至是特定位置的特定值。要遍历数组,可以使用arr[起始行:结束行,起始列:结束列]
。例如,您希望通过arr[1:,:]
访问除第一行以外的所有值。
因此,您可以通过以下代码片段获得所需的输出
arr[1:,:] = arr[1:,:]+0.1 or arr[1:,:]+=0.1 or arr[1:]+=0.1
输出看起来像
array([[ 0.08778, 0.99666, 0.30648],
[ 0.51688, 2.80076, 1.20135],
[ 2.00494, 1.01685, -0.16984],
[-0.34512, 1.83972, -1.14406],
[-1.58572, 1.11617, 1.11221],
[-0.0977 , -0.67177, -0.25553],
[ 0.71588, 3.7995 , 1.69813],
[ 3.08863, 0.96173, -0.49616],
[-0.68312, 2.30935, -2.12362],
[-2.63208, 1.12071, 1.54702],
[-0.26006, -1.72939, -0.62827]])
由于您不想操纵列,所以可以编写代码而不提及列
快乐编码 要做到这一点,首先,您需要了解numpy的基本操作 例如,您有一个名为
arr
的numpy数组,如下所示
arr = np.array([[ 0.08778, 0.99666, 0.30648],
[ 0.41688, 2.70076, 1.10135],
[ 1.90494, 0.91685, -0.26984],
[-0.44512, 1.73972, -1.24406],
[-1.68572, 1.01617, 1.01221],
[-0.1977 , -0.77177, -0.35553],
[ 0.61588, 3.6995 , 1.59813],
[ 2.98863, 0.86173, -0.59616],
[-0.78312, 2.20935, -2.22362],
[-2.73208, 1.02071, 1.44702],
[-0.36006, -1.82939, -0.72827]])
这是一个二维numpy数组。因此,您可以访问任何行和列,甚至是特定位置的特定值。要遍历数组,可以使用arr[起始行:结束行,起始列:结束列]
。例如,您希望通过arr[1:,:]
访问除第一行以外的所有值。
因此,您可以通过以下代码片段获得所需的输出
arr[1:,:] = arr[1:,:]+0.1 or arr[1:,:]+=0.1 or arr[1:]+=0.1
输出看起来像
array([[ 0.08778, 0.99666, 0.30648],
[ 0.51688, 2.80076, 1.20135],
[ 2.00494, 1.01685, -0.16984],
[-0.34512, 1.83972, -1.14406],
[-1.58572, 1.11617, 1.11221],
[-0.0977 , -0.67177, -0.25553],
[ 0.71588, 3.7995 , 1.69813],
[ 3.08863, 0.96173, -0.49616],
[-0.68312, 2.30935, -2.12362],
[-2.63208, 1.12071, 1.54702],
[-0.26006, -1.72939, -0.62827]])
由于您不想操纵列,所以可以编写代码而不提及列
快乐编码