gpt4 book ai didi

python - 从多个其他列中减去一列

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:14 24 4
gpt4 key购买 nike

我有一个 7 列的数组,我正在尝试从所有其他列中减去第一列。现在我的代码如下所示:

a  = (q[:,0]-q[:,1])**2
a1 = (q[:,0]-q[:,2])**2
a2 = (q[:,0]-q[:,3])**2
a3 = (q[:,0]-q[:,4])**2
a4 = (q[:,0]-q[:,5])**2
a5 = (q[:,0]-q[:,6])**2

这很有效,只是我试图对许多文件执行此操作,但效率非常低。有没有更有效的方法来编写相同的代码?

谢谢

最佳答案

如果您想从所有其他列中减去第一列,您可以这样做

import numpy as np
x = np.arange(40).reshape(8, 5) #sample data
y = (x - x[:,0,None])**2

x[:,0,None] 代表第一列。如果您只是尝试 x - x[:,0],numpy 无法将形状一起广播(在本例中为 (8, 5) 和 (8,))。添加 x[:,0,None] (或 x[:,0,np.newaxis])使第二个形状 (8, 1) 和 numpy 可以广播两者在一起。

关于python - 从多个其他列中减去一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22051743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com