我有一个矩阵[[ 2. nan nan nan]
[ 3. 2. nan nan]
[ nan 5. 5. nan]
[ nan nan nan nan]]
:
b
列表[-1.0, 2.0, 0.5, -2.0]
:
X - b
当我[[ 3. nan nan nan]
[ 4. 0. nan nan]
[ nan 3. 4.5 nan]
[ nan nan nan nan]]
时,我得到:
b
如果我想跨列而不是行减去X - b.transpose()
该怎么办?
我正在寻找[[ 3. nan nan nan]
[ 1. 0. nan nan]
[ nan 4.5 4.5 nan]
[ nan nan nan nan]]
:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var lojasSchema = new mongoose.Schema({
email: {
type: String,
unique: true,
required: true
},
nome: {
type: String,
required: true,
unique: true
},
descricao: {
type: String,
default: "No description for this store"
},
telefone:{
type:String,
},
password:
{
type: String, required: true
}
,
img: {
data: Buffer, contentType: String
},
imgNome: {
type: String
},
produtos: [
{ type: mongoose.Schema.ObjectId, ref: 'Produto' }
],
});
module.exports = mongoose.model('Loja', lojasSchema);
答案 0 :(得分:2)
使用numpy.vstack函数的解决方案(垂直堆叠数组):
a = np.array([[ 2.0, np.NaN, np.NaN, np.NaN],
[ 3.0, 2.0, np.NaN, np.NaN],
[ np.NaN, 5.0, 5.0, np.NaN],
[ np.NaN, np.NaN, np.NaN, np.NaN]])
b = np.array([-1.0, 2.0, 0.5, -2.0])
print(a - np.vstack(b))
输出:
[[ 3. nan nan nan]
[ 1. 0. nan nan]
[ nan 4.5 4.5 nan]
[ nan nan nan nan]]
答案 1 :(得分:2)
这是一个值得指出的问题:
>>> a = np.identity(4)
>>> a
array([[ 1., 0., 0., 0.],
[ 0., 1., 0., 0.],
[ 0., 0., 1., 0.],
[ 0., 0., 0., 1.]])
>>> b = [1,2,3,4]
>>> a-b
array([[ 0., -2., -3., -4.],
[-1., -1., -3., -4.],
[-1., -2., -2., -4.],
[-1., -2., -3., -3.]])
>>> a-np.matrix(b)
matrix([[ 0., -2., -3., -4.],
[-1., -1., -3., -4.],
[-1., -2., -2., -4.],
[-1., -2., -3., -3.]])
>>> a-np.array(b)
array([[ 0., -2., -3., -4.],
[-1., -1., -3., -4.],
[-1., -2., -2., -4.],
[-1., -2., -3., -3.]])
>>> a-np.matrix(b).T # T is short for transpose()
matrix([[ 0., -1., -1., -1.],
[-2., -1., -2., -2.],
[-3., -3., -2., -3.],
[-4., -4., -4., -3.]])
>>> # BUT:
... a-np.array(b).T
array([[ 0., -2., -3., -4.],
[-1., -1., -3., -4.],
[-1., -2., -2., -4.],
[-1., -2., -3., -3.]])
>>> # with 1d arrays .T does nothing! Use instead
... a-np.array(b)[:, None]
array([[ 0., -1., -1., -1.],
[-2., -1., -2., -2.],
[-3., -3., -2., -3.],
[-4., -4., -4., -3.]])