我正在尝试编写一个计算数组最少遗憾的脚本。我已经设法找出如何找到列的最小值,然后计算出最小值与原始值之间的差异。但是,由于我是新手,我不能对行做同样的事情。我正在使用以下脚本:
#find the minimum values for rows and columns:
col_min=np.min(array)
col_min0=array.min(0)
row_min=np.min(array[:,2])
row_min0=array.min(1)
#difference or least regret for col:
least_reg_col=0
for i in array:
least_reg_col=col_min0-i
print(least_reg_col)
#difference or least regret for row:
least_reg_row=0
for j in np.array(array,axis=1):
least_reg_row=array-j
print(least_reg_row)
对于矩阵: s1 s2 s3 0 1 5 2 1 3 4 0 2 2 2 4 3 5 1 0
我的专栏结果如下:
[ 0 -4 -2]
[-2 -3 0]
[-1 -1 -4]
[-4 0 0]
但由于是新手我无法完成这些行;应该是:
[ 0 -4 -1]
[-3 -4 0]
[ 0 0 -2]
[-5 -1 0]
非常感谢任何帮助,谢谢。
答案 0 :(得分:0)
我希望对你有用
a = np.array([[0,1,5],
[2,1,3],
[4,0,2],
[2,2,4]])
r = np.min(a,axis=0)
c = np.min(a,axis=1)
ridx = np.argmin(a,axis=0)
cidx = np.argmin(a,axis=1)
rdif = a-r
cdif = a-c[:,None]
print (rdiff)
print (cdiff)