首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数组中的每一列减去一个不同的数字

从数组中的每一列减去一个不同的数字
EN

Stack Overflow用户
提问于 2019-09-18 02:18:08
回答 2查看 120关注 0票数 2

假设我在Python中有以下数组:

代码语言:javascript
复制
x = np.array(([1,2,3,4],[5,6,7,8],[9,10,11,12]))
x

看上去像是:

代码语言:javascript
复制
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])

我有一个数组mu,它是数组x的每个列的平均值。

代码语言:javascript
复制
mu = x.mean(axis =0)

看上去像是:

代码语言:javascript
复制
array([5., 6., 7., 8.])

现在,我想要一个新的数组x_demean,其中第一列被自己的平均值减去,第二列被自己的平均值减去,等等。结果应该是:

代码语言:javascript
复制
array([[ -4,  -4,  -4,  -4],
       [ 0,  0,  0,  0],
       [ 4,  4,  4,  4])
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-18 02:24:36

您可以使用简单的x - mu,它提供所需的输出。

您也可以使用适当的subtract()方法numpy。请参考docs 这里

试试下面的代码:

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2019-09-18 02:20:13

x-mu是你得到你想要的东西所需要的全部。

如果要严格以整数形式输出,请执行(x-mu).astype(int)

输出

代码语言:javascript
复制
array([[-4, -4, -4, -4],
       [ 0,  0,  0,  0],
       [ 4,  4,  4,  4]])
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57984189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档