相关疑难解决方法(0)

提取numpy矩阵的上三角或下三角部分

我有一个矩阵A,我想2点矩阵UL使得U包含A的上三角形单元(上述所有的元素和不包括对角线)同样地,对于L(下面所有的元素和不包括对角线).有没有numpy办法做到这一点?

例如

A = array([[ 4.,  9., -3.],
           [ 2.,  4., -2.],
           [-2., -3.,  7.]])
U = array([[ 0.,  9., -3.],
           [ 0.,  0., -2.],
           [ 0.,  0.,  0.]])
L = array([[ 0.,  0.,  0.],
           [ 2.,  0.,  0.],
           [-2., -3.,  0.]])
Run Code Online (Sandbox Code Playgroud)

python numpy

50
推荐指数
3
解决办法
6万
查看次数

如何从numpy.triu()只将上三角值复制到数组中?

我有一个方阵A(可以是任何大小),我想取上三角形部分并将这些值放在一个数组中,而不是中心对角线以下的值(k = 0).

A = array([[ 4,  0,  3],
           [ 2,  4, -2],
           [-2, -3,  7]])
Run Code Online (Sandbox Code Playgroud)

使用numpy.triu(A)让我

A = array([[ 4,  0,  3],
           [ 0,  4, -2],
           [ 0,  0,  7]])
Run Code Online (Sandbox Code Playgroud)

但是从这里我怎么只将上三角形元素复制成一个简单的数组呢?如:

[4, 0, 3, 4, -2, 7]
Run Code Online (Sandbox Code Playgroud)

我只是迭代并复制所有非零元素,但允许上三角形为零.

python numpy

9
推荐指数
2
解决办法
8135
查看次数

python 留一估计

我想从某个向量中获取一个矩阵x=(x_1,x_2, ..., x_I),其中该矩阵中的每一行 i 对应于x(i) := (x_1,...,x_{i-1},x_{i+1},...,x_I)

我知道

from sklearn.cross_validation import LeaveOneOut
I = 30
myrowiterator = LeaveOneOut(I)
for eachrow, _ in myrowiterator:
    print(eachrow)    # prints [1,2,...,29]
                      #        [0,2,...,29] and so on ...
Run Code Online (Sandbox Code Playgroud)

提供一个例程来获取上述矩阵的每一行。但我宁愿直接一步获得矩阵,直接对该矩阵进行操作,而不是循环遍历它的行。这会节省我一些计算时间。

python numpy combinatorics scikit-learn

2
推荐指数
1
解决办法
2021
查看次数

标签 统计

numpy ×3

python ×3

combinatorics ×1

scikit-learn ×1