假设我在Python中有以下数组:
x = np.array(([1,2,3,4],[5,6,7,8],[9,10,11,12]))
x看上去像是:
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])我有一个数组mu,它是数组x的每个列的平均值。
mu = x.mean(axis =0)看上去像是:
array([5., 6., 7., 8.])现在,我想要一个新的数组x_demean,其中第一列被自己的平均值减去,第二列被自己的平均值减去,等等。结果应该是:
array([[ -4, -4, -4, -4],
[ 0, 0, 0, 0],
[ 4, 4, 4, 4])发布于 2019-09-18 02:24:36
您可以使用简单的x - mu,它提供所需的输出。
您也可以使用适当的subtract()方法numpy。请参考docs 这里。
试试下面的代码:
import numpy as np
x1 = np.array(([1,2,3,4],[5,6,7,8],[9,10,11,12]))
mu = x1.mean(axis =0)
x_demean = np.subtract(x1, mu)
print(x_demean) #use x_demean.astype(int) if you want integer array发布于 2019-09-18 02:20:13
x-mu是你得到你想要的东西所需要的全部。
如果要严格以整数形式输出,请执行(x-mu).astype(int)
输出
array([[-4, -4, -4, -4],
[ 0, 0, 0, 0],
[ 4, 4, 4, 4]])https://stackoverflow.com/questions/57984189
复制相似问题