我正在尝试使用NumPy将以下R语句转换为Python:
1 + apply(tmp,1,function(x) length(which(x[1:k] < x[k+1])))
Python有没有一种与which()
相当的方法?这里,x是矩阵tmp中的行,k对应于另一个矩阵中的列数。
之前,我尝试了以下Python代码,并收到了一个值错误(操作数无法与形状一起广播):
for row in tmp:
print np.where(tmp[tmp[:,range(k)] < tmp[:,k]])
tmp
变量,你的意思是在循环中应该使用row
变量吗? - Doboyk
是从哪里来的?你的tmp
是什么形状? - Pierre GMlength(which(...))
,只需要直接对布尔值求和sum(x[1:k] < x[k+1])
即可。 - smciwhich()
将一个向量与条件进行比较,并返回满足条件的索引向量。我认为这篇文章回答了在这里提出的字面问题。 - Hendy