尝试在python中使用轴1

时间:2018-02-24 03:59:23

标签: python

我正在尝试编写一个计算数组最少遗憾的脚本。我已经设法找出如何找到列的最小值,然后计算出最小值与原始值之间的差异。但是,由于我是新手,我不能对行做同样的事情。我正在使用以下脚本:

#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]

非常感谢任何帮助,谢谢。

1 个答案:

答案 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)