我有一个二进制numpy数组,并且该数组在某些列中包含一个1或完整的零,即该数组的行总和是一个二进制向量,如
A = array([[0, 0, 0, 1, 0, 1],
[0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0],
[1, 0, 1, 0, 0, 0]])
我想找到在每一列中出现1的行索引。如果每一列都没有索引,则无需返回任何索引。
在上述情况下,我希望结果为
[3, 2, 3, 0, 0]
numpy,其中的结果不可使用
答案 0 :(得分:3)
您可以在A的转置上使用where
np.where(A.T)[1]
# array([3, 2, 3, 0, 0])
答案 1 :(得分:1)
尝试一下:
// CREATING A HTTP SERVER USING HTTP MODULE
// request is the http call, response is the text or file back..
const http_mod = require("http");
const file_sys = require("fs");
const server = http_mod.createServer((req, res) => {
if (req.url === '/index'){
// this is the response
res.write("hello world from index");
}
else if (req.url === '/check'){
// this is the response
res.write("hello world from check");
}
else if (req.url === '/'){
// this is the response
// res.write("hello world from main");
// let know what data to expect
// you can use http status codes to explicitly state meaning of status code
const html = file_sys.readFileSync("./static/test.html");
res.writeHead(200, {'Content-type' : 'text/html'});
res.write(html)
}
// .end sends the response
res.end();
// port to listen on
}).listen("3000");
这将得到rows, cols = np.where(A==1)
result = rows[np.argsort(cols)]
。
只有在您假设每列最多出现1个情况下,该方法才有效。