Python 从数组中的每列中减去不同的数字
假设我有以下Python数组:Python 从数组中的每列中减去不同的数字,python,Python,假设我有以下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]]) array([5., 6., 7., 8.]) 我有一个数组mu,它是数组x mu = x.mean(axis =0) 这看起来像: array([[ 1, 2, 3, 4],
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]])
array([5., 6., 7., 8.])
我有一个数组mu
,它是数组x
mu = x.mean(axis =0)
这看起来像:
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
array([5., 6., 7., 8.])
现在,我想要一个新的数组x_demean
,其中第一列用自己的平均值减去,第二列用自己的平均值减去,如此类推。
结果应该如下所示:
array([[ -4, -4, -4, -4],
[ 0, 0, 0, 0],
[ 4, 4, 4, 4])
x-mu
是您获得所需的一切
如果希望严格以整数形式输出,请执行(x-mu).astype(int)
输出
array([[-4, -4, -4, -4],
[ 0, 0, 0, 0],
[ 4, 4, 4, 4]])
您可以使用simple
x-mu
来提供所需的输出
您也可以使用适当的subtract()
方法numpy。参考文档
请尝试以下代码:
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
当您只需使用运算符时,numpy会自动为您执行此操作!