![](/img/trans.png)
[英]Subtracting one dataframe column from another dataframe column for multiple columns
[英]Subtracting one column from multiple other columns
我有一个由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]
)使第二个形状( x[:,0,np.newaxis]
)和numpy可以一起广播两者。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.